2009-12-03 13:02:35 +0000 2009-12-03 13:02:35 +0000
22
22

Wie ist das Verhältnis zwischen CPU-Auslastung und RAM?

Ich habe schon oft gesehen, dass die CPU-Auslastung 100 % beträgt und nur 50 % des RAMs genutzt wird. Wie ist die Beziehung zwischen diesen beiden? Wie wirkt sich die Leistung des einen auf die des anderen aus?

Antworten (6)

44
44
44
2009-12-03 13:14:59 +0000

Die CPU verarbeitet (führt Anweisungen an Dingen aus, z. B. Addieren) Dinge im Speicher. RAM ist nur ein Teil der Speicherpyramide (siehe unten). Wenn Sie also viele 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, weil der RAM schneller zugänglich ist als Speichergeräte. So können CPU-Nutzung und RAM oft korrelieren, müssen es aber nicht.

Ein einfaches Beispiel könnte ein Bildbearbeitungsprogramm sein. Ich lade mein 20MB großes jpeg, das Programm liest das gesamte Bild ein, und das Betriebssystem hält es im RAM vor (alle Arbeitsspeicher sehen für das Programm gleich aus, das Betriebssystem entscheidet, ob es in die Page/Swap-Datei auf der Festplatte oder in den RAM geht). Das Bild ist also im RAM und wartet darauf, verarbeitet zu werden, aber ich gehe erst mal einen Kaffee trinken, bevor ich dem Programm sage, dass es irgendeinen blöden Filter anwenden soll, also macht die CPU nichts: viel RAM, wenig CPU.

Ich komme zurück, wende den Filter an, um dem Bild ein paar Blasen hinzuzufügen, und die CPU geht auf 100% und es wird sogar noch mehr Speicher verbraucht, weil das Programm das vorverarbeitete Bild im Speicher behält, so dass ich die Änderung, die ich gerade vorgenommen habe, rückgängig machen kann. Hoher RAM, hohe CPU.

Wenn das Programm mit dem Hinzufügen der Blasen fertig ist, sinkt die CPU, aber vielleicht nicht der Speicher.

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

24
24
24
2009-12-03 13:38:15 +0000

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

10
10
10
2009-12-03 13:12:49 +0000

RAM wird zum Speichern von Daten verwendet. Die CPU-Zeit wird für die Verarbeitung von Daten verwendet.

Es besteht kein Zusammenhang zwischen CPU- und Speichernutzung. Ein Prozess kann alle CPUs eines Systems belegen, aber nur eine minimale Menge an Speicher verwenden. Ebenso kann ein Prozess den gesamten auf einem System verfügbaren Speicher belegen, aber nur minimale CPU-Zeit verwenden. Es besteht also kein Zusammenhang zwischen beiden.

5
5
5
2009-12-03 13:14:39 +0000

Es gibt keine konsistente Beziehung zwischen den beiden. Die CPU-Nutzung hängt davon ab, wie viel Verarbeitung oder Arbeit von der App erledigt werden muss. RAM ist, wie viel Platz/Speicher es braucht, um die App zu halten, während sie läuft.

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

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

Hoffentlich hilft das.

2
2
2
2009-12-03 13:09:13 +0000

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

1
1
1
2009-12-03 14:23:36 +0000

Keine Beziehung. Stellen Sie sich das so vor, als würden Sie ein paar schwere Rechenoperationen durchführen. RAM bedeutet, wie viele dieser Zahlen gespeichert werden können, um sie schneller abrufen zu können, während CPU bedeutet, wie schnell mit diesen Zahlen mathematische Operationen durchgeführt werden können.

Um zu zeigen, wie sich das eine auf das andere auswirkt, nehmen wir an, dass Sie eine langsame CPU, aber viel RAM haben. Das bedeutet, dass Sie ziemlich viele dieser Zahlen im Speicher ablegen können - etwa eine halbe Milliarde davon auf einer typischen 32-Bit-Maschine. Aber die Verarbeitung/Berechnung/etc auf diesen Zahlen wird langsamer sein.

Auf der anderen Seite, wenn Sie eine schnelle CPU, aber nur wenig RAM haben, wird die Verarbeitung der Zahlen schnell sein, aber von Zeit zu Zeit wird die Maschine sie von der Festplatte ziehen müssen (und wieder zurücklegen, um Platz für mehr zu schaffen), was um ein Vielfaches langsamer ist, als sie aus dem RAM zu holen.

Also wirklich, jedes beeinflusst das andere, und für die beste Leistung müssen beide gut sein. Dies hängt jedoch völlig davon ab, was die jeweilige Anwendung tatsächlich tut, und es gibt noch andere Faktoren (wie Festplattengeschwindigkeit, Prozessor-Caches usw.), auf die wir im Moment nicht näher eingehen müssen, von denen Sie aber wissen sollten, dass sie die Dinge verkomplizieren.

Verwandte Fragen

19
9
5
5
1