
Ich bin ein Neuling in der Computerwelt. Ich habe ein Python-Programm, das auf Visual Studio Code läuft und viel CPU-Speicher nutzt, aber nicht die GPU, wie in der Abbildung gezeigt.
Wie Sie sehen, ist mein Speicherverbrauch jedoch sehr gering.
Gibt es eine Möglichkeit, den Speicher zu erhöhen, ohne die GPU zu berühren?
Antwort1
Der für eine laufende Aufgabe verwendete RAM dient nur zum Speichern von Daten. Dies sind Variablen und ähnliches in Ihrem Python-Code. Die CPU-Auslastung bezieht sich auf das „Denken“ des Programms, das Sie ausführen.
In diesem Fall übernimmt Ihr Programm also viel die Denk-, aber die Speicherfunktion ist eher dürftig.
Antwort2
Ihr Python-Programm weist einen CPU-Engpass auf, nicht einen Speicherengpass.
Stellen Sie sich das so vor: Stellen Sie sich vor, Sie schreiben ein Buch mit einem Stift auf Papier. Sie schreiben so schnell Sie können. Sie können nur aufein Stück Papier nach dem anderen. Wenn Sie 10 Blätter Papier vor sich ausbreiten, werden Sie nicht zehnmal schneller schreiben.
Das ist genau das, was Sie sehen. Ihre CPU führt den „Schreibvorgang“ so schnell aus, wie sie kann. Daher ist sie zu 100 % ausgelastet. Der Speicher ist das Blatt Papier, also das Medium, auf dem er arbeitet.
Wenn Sie möchten, dass Ihr Programm schneller läuft,Sie brauchen mehr Hände und/oder müssen schneller schreiben! Wenn Sie zwei Hände hätten, könnten Sie mit einer Hand das erste Kapitel und mit der anderen das nächste Kapitel schreiben. Drei Hände? Dann kann es das dritte Kapitel schreiben. Und zwar gleichzeitig.
Vorausgesetzt, das Programm kann in mehrere Aufgaben aufgeteilt werden (falls dies nicht bereits der Fall ist), können Sie dies erreichen, indem Sie eine Multithread-Python-Anwendung schreiben. Wie das geht, liegt jedoch außerhalb des Bereichs von Superuser.com.
Da Ihre CPU zu 100 % ausgelastet ist und Multicore-CPUs heute die Norm sind, ist Ihr Python-Programm wahrscheinlich bereits multithreadfähig. Das bedeutet höchstwahrscheinlich, dass Sie mehr CPU-Kerne und/oder schnellere Kerne benötigen, um das Programm schneller ausführen zu können.