Was ist die Beziehung zwischen CPU-Auslastung und RAM?

Ich habe oft gesehen, dass die CPU-Auslastung 100% beträgt und nur 50% des Arbeitsspeichers verwendet werden. Was ist die Beziehung zwischen diesen beiden? Wie wirkt sich die Leistung des einen auf den anderen aus?

Author: Dave M, 2009-12-03

6 answers

Die CPU verarbeitet (führt Anweisungen für Dinge aus, z. B. das Hinzufügen) Zeug im Speicher. RAM ist nur ein Teil der Speicherpyramide (siehe unten). Wenn Sie also lots von Daten verarbeiten, werden diese Daten ( oder vielleicht große Teile davon) wahrscheinlich in den RAM geladen, damit sie für die CPU bereit sind, um die Dinge zu beschleunigen, da RAM schneller ist Zugriff als Speichergeräte. So können CPU-Auslastung und RAM oft korrelieren, müssen es aber nicht.

Ein grundlegendes Beispiel könnte eine Bildbearbeitung sein Programm. Ich lade mein 20MB JPEG, das Programm liest das gesamte Bild und das Betriebssystem behält es für Sie im RAM (der gesamte funktionierende Speicher sieht für das Programm gleich aus, das Betriebssystem entscheidet, ob es geht zur Seite / Auslagerungsdatei auf Festplatte oder RAM). Das Bild befindet sich also im RAM und wartet darauf, verarbeitet zu werden, aber ich gehe auf einen Kaffee, bevor ich dem Programm sage, dass es einen albernen Filter anwenden soll, damit die CPU nichts tut: High RAM low CPU.

Ich komme zurück, wende den Filter an, um dem Bild einige Blasen hinzuzufügen, und die CPU geht zu 100% und noch mehr Speicher wird verwendet, da das vorverarbeitete Bild im Speicher bleibt, sodass ich die gerade vorgenommene Änderung rückgängig machen kann. Hoher RAM, hohe CPU.

Wenn das Programm mit dem Hinzufügen der Blasen fertig ist, fällt die CPU ab, aber möglicherweise nicht der Speicher.

Natürlich ist es nicht ganz so einfach: -)

Bild der Speicherpyramide

 48
Author: Kyle Brandt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-05-17 00:04:37

Es ist die gleiche Beziehung wie dein Gehirn zu einem Buch. Je schneller das Gehirn = je schneller Sie lesen, desto größer ist das Buch = je mehr Seiten es enthalten kann.

 26
Author: pauska,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-12-03 13:38:15

RAM wird zum Speichern von Daten verwendet. CPU-Zeit wird verwendet, um Daten zu verarbeiten.

Es besteht keine Beziehung zwischen CPU-und Speichernutzung. Ein Prozess kann alle CPUs eines Systems belegen, aber nur eine minimale Menge an Speicher verwenden. Außerdem kann ein Prozess den gesamten auf einem System verfügbaren Speicher zuweisen, jedoch nur minimale CPU-Zeit verwenden. Es gibt also keine Beziehung zwischen beiden.

 11
Author: joschi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-12-03 13:12:49

Es gibt keine konsistente Beziehung zwischen den beiden. Die CPU-Auslastung hängt davon ab, wie viel Verarbeitung oder Arbeit die App leisten muss. RAM ist, wie viel Speicherplatz / Speicher benötigt wird, um die App während der Ausführung zu halten.

Mehr RAM = Sie können mehr Apps gleichzeitig ausführen

Mehr CPU = Sie können komplexere Berechnungen / Operationen ausführen

Hoffe das hilft.

 6
Author: Glen Y.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-12-03 13:14:39

Sie sind nicht verwandt. Sie einige Aufgaben verwenden eine Menge von nur einer dieser Ressourcen und einige verwenden eine Menge von beiden.

 3
Author: Amok,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-12-03 13:09:13

Keine Beziehung. Denken Sie daran in Bezug auf einige schwere Zahl Knirschen zu tun. RAM ist, wie viele dieser Zahlen für ein schnelleres Abrufen gespeichert werden können, während CPU ist, wie schnell diese Zahlen mathematische Operationen an ihnen ausführen können.

Nehmen wir an, Sie haben eine langsame CPU, aber viel RAM. Das bedeutet, dass Sie einige dieser Zahlen im Speicher speichern können - etwa eine halbe Milliarde davon auf einem typischen 32-Bit-Computer. Aber die Verarbeitung/Berechnung / etc für diese Zahlen wird langsamer sein.

Andererseits, wenn Sie eine schnelle CPU, aber eine kleine Menge RAM haben, wird die Verarbeitung der Zahlen schnell sein, aber von Zeit zu Zeit muss die Maschine sie von der Festplatte ziehen (und sie wieder zurücklegen, um Platz für mehr zu schaffen), was um ein Vielfaches langsamer ist, als sie aus dem RAM zu nehmen.

Also wirklich, jeder beeinflusst den anderen, und für die beste Leistung müssen Sie beide gut sein. Dies hängt jedoch völlig davon ab, was jeder die Anwendung macht tatsächlich , und es gibt andere Faktoren (wie Festplattengeschwindigkeit, Prozessor-Caches usw.), auf die wir vorerst nicht allzu ausführlich eingehen müssen, die Sie jedoch beachten sollten Dinge komplizieren.

 2
Author: Maximus Minimus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-12-03 14:23:36