Wie kann der virtuelle Speicher größer sein als der insgesamt verfügbare Speicherplatz?

9

Warum meldet mein MBP manchmal VM Size: 300+ GBim Aktivitätsmonitor auf der Registerkarte Systemspeicher, wenn meine Festplattengröße nur 250 GB (insgesamt) und der Arbeitsspeicher 4 GB beträgt? Ich weiß, dass es diesen zusätzlichen Platz nicht auf magische Weise bekommen kann, aber was versucht es mir zu sagen?

Joel Spolsky
quelle

Antworten:

3

Es ist alles imaginär, also sagt eine Kombination von Programmen, dass es eines Tages so viel verbrauchen könnte. Machen Sie sich keine Sorgen, es sei denn, der Swap-Speicherplatz wächst über Ihre RAM-Größe hinaus oder Active + Wired RAM ist größer als 75% des physischen RAM. (3 GB in Ihrem Fall)

Grundsätzlich beschleunigt diese Idee die Speicherverwaltung, während das System ausgeführt wird. Da Programme immer mehr Speicher benötigen, legt das System virtuelle Teile des virtuellen Arbeitsspeichers mit viel Speicherplatz zwischen den einzelnen Prozesszuordnungen an. Dies macht einige sehr häufige Berechnungen einfacher und schneller und es ist sehr unwahrscheinlich, dass sich die Regionen jemals überlappen. Wenn sich virtuelle Speicherbereiche überschneiden, ist es teurer, Dinge anzuhalten und den Speicher unter einem laufenden Programm neu zuzuordnen. All diese mentalen Olympischen Spiele mit virtuellem Speicher lassen Ihren Mac schneller laufen.

bmike
quelle
3

Freigegebene Bibliotheken und Frameworks werden für jede Anwendung , die sie verwendet, als Teil des virtuellen Speichers gezählt .

Wenn auf Ihrem Computer 100 Prozesse ausgeführt werden und eine 5-MB- Bibliothek von all diesen Prozessen verwendet wird, wird diese Bibliothek als 500 MB virtueller Speicher gezählt.

Sie können auch die Zahlen in der Spalte Virtueller Speicher der Prozessliste addieren. Ein genauerer Name für diese Spalte lautet "Virtueller privater Speicher". Freigegebene Daten sind nicht enthalten.


100 Prozesse sind nicht so hoch wie es sich anhört (ich habe derzeit 75 auf meinem MBP und ich laufe viel weniger als gewöhnlich).

Einige Bibliotheken werden von fast jeder Anwendung auf Ihrem System verwendet, auch solche ohne Schnittstellen. Nachdem Sie alle gemeinsam genutzten Bibliotheken auf Ihrem System addiert haben, verfügen Sie über eine große Datenmenge, die nur sehr wenig Speicher benötigt.

Wie von bmike erwähnt, sollten Sie sich mehr Sorgen um den Swap Space oder den aktiven + verdrahteten RAM machen. Derzeit teilt mir Activity Monitor mit, dass ich über 170 GB virtuellen Speicher verfüge, aber nur 1,5 MB Swap-Speicherplatz verwende.

ughoavgfhw
quelle