Weiß jemand, warum Process Explorer diese seltsamen Werte für die Speichernutzung meiner Virtual Box-Instanz anzeigt?
Hier sind die reellen Zahlen:
Der Process Explorer zeigt jedoch Folgendes:
Der Prozess hat also 1,2 GB der VM zugesagt, von denen 1,1 GB privat sind. Im Prozess-Explorer werden jedoch nur 196 MB VM und nur 48 MB privater Speicher angezeigt. Was ist denn hier los?
BEARBEITEN : Diese Erinnerung ist nicht nur reserviert. Das bekommt es tatsächlich gebraucht :
virtual-memory
process-explorer
RomanSt
quelle
quelle
Antworten:
Mark Russinovich hat freundlicherweise erklärt, dass dies auf VirtualBox zurückzuführen ist Schlösser eine große Menge an Speicher, die fordert das Betriebssystem auf, es im Arbeitssatz zu belassen .
Allerdings, wenn Sie nur versuchen
VirtualLock
Wenn Sie eine Menge RAM verwenden, werden Sie dies nicht sehen. Alles, was RAM ist, wird gerne berücksichtigt, so wie es sein sollte. Es geht also um etwas anderes, wie VirtualBox diesen Speicher zuweist. Übrigens betrifft es auch ProcessHacker.Das Seltsame daran ist, dass ProcessHacker alle zugewiesenen Speicherbereiche korrekt auflistet und einfach addiert, um den richtigen Wert zu erhalten, der vom Betriebssystem gemeldete Zähler ist jedoch falsch. Um ein paar GB. Nicht gut!
Ich nenne dies eine Eigenart der Windows-RAM-Berichterstattung. Ich würde das als Fehler bezeichnen, aber es gibt es wahrscheinlich schon seit mindestens einem Jahrzehnt. Daher kann man dieses erwartete Verhalten mittlerweile als solches bezeichnen, das weder in Process Explorer noch in Process Hacker richtig umgangen wurde.
quelle
VMMap hat möglicherweise einen Fehler Dadurch schließt Committed verworfene Seiten oder Seiten in die Auslagerungsdatei ein.
So sieht es jetzt aus wie inaktiver Speicher ... Er wird nur als Reserve (oder als Fehler) zugewiesen.
Das Working Set enthält nur aktiven Speicher, VMMap und Process Explorer zeigen dasselbe WS ...
quelle
Von RAM, virtueller Speicher, Auslagerungsdatei und all das Zeug :
Ich glaube also, dass die Menge an Committed Bytes nichts mit VirtualBox zu tun hat - es ist nur die Summe der physischen RAM-Seiten aller laufenden Prozesse im System. In diesem Fall sind die von Process Explorer zurückgegebenen Daten korrekt.
quelle
SysInternals verwenden RamMap Ich denke, Sie können sehen, dass der RAM als "DriverLocked" aufgezeichnet ist.
Allerdings habe ich keine Ahnung, wie Sie tatsächlich von diesem zum Treiber zurückarbeiten, der es gesperrt hat. Wichtig ist, dass der Treiber nicht das VirtualBox-Programm ist, sondern ein Treiber, den VirtualBox installiert und verwendet.
Wenn durch einfaches Herunterfahren virtueller Maschinen kein RAM aus dem 'DriverLocked'-Pool freigegeben wird, können Sie ein Tool wie das folgende verwenden AutoRuns um zu sehen, welche Treiber beim Start geladen werden, und deaktivieren Sie diese. Es ist ein gewisser manueller Vorgang, also wäre es wirklich interessant, wenn jemand weiß, welche Treiber den Speicher gesperrt haben.
quelle