Was könnte eine so hohe Commit-Gebühr in XP verursachen?

6524
thomasrutter

Ich bin aus Speicherfehlern herausgekommen, die virtuelle Maschinen in VirtualBox ausführen, also habe ich meine Commit-Gebühr geprüft und siehe da, es sind 1913 MB!

Ich habe nur 2 GB physischen RAM.

Nach dem Schließen aller "Anträge" habe ich noch ca. 1800 MB in der Pflicht. Das ist die Mehrheit meines RAMs. Beim Öffnen des Prozess-Explorers werden keine Prozesse angezeigt, die nicht in der richtigen Reihenfolge erscheinen. Der größte Arbeitsspeicher ist der Prozess-Explorer, der etwa 26 MB groß ist, und alles andere ist etwas kleiner.

Können Windows Speicher "verlieren"? Sollte ich einen Treiber oder etwas ähnliches wie das Antivirus von Symantec vermuten? Würde ihre Speicherbelegung im Prozess-Explorer irgendwie auftauchen?

Nach weiteren Untersuchungen glaube ich, dass dies ein Problem mit VirtualBox ist. Aus irgendeinem Grund gab es nach dem Beenden einiger virtueller Maschinen, auch nach dem Beenden von VirtualBox, den ihnen zugewiesenen Speicher nicht frei. Aus einem anderen Grund kann ich nicht herausfinden, dass der Task-Manager / Prozess-Explorer den Speicher, der virtuellen Maschinen in VirtualBox zugewiesen ist, nicht sehen kann. Es wird in keinem Prozess oder in einer Aufgabenliste angezeigt. Das einzige Anzeichen dafür ist, dass die Commit-Gebühr steigt.

0

2 Antworten auf die Frage

4
Andrew Moore

Grundgebühr ist grundsätzlich die maximal mögliche Auslastung der Auslagerungsdatei . Es hängt nicht mit dem RAM zusammen.

Grundsätzlich adressiert Windows den Speicher in der Auslagerungsdatei, bevor es von einer Anwendung basierend auf der aktuellen Auslagerungsdatei verwendet wird. Die Festschreibungsgebühr spiegelt nicht die aktuelle Speichernutzung wider, sondern gibt an, wie viel Speicher Windows derzeit in der Auslagerungsdatei adressiert.

Das Windows Task-Manager-Dienstprogramm zeigt auf der Registerkarte Leistung drei Indikatoren für die Bereitstellungsgebühr:

  • Total ist die Menge des verwendeten virtuellen Adressraums, der mit der Seitendatei hinterlegt ist, dh die aktuelle Festschreibungsgebühr. Der entsprechende Leistungsindikator heißt "Committed Bytes".
  • Limit ist der maximal mögliche Wert für Total. Dies ist die Summe der aktuellen Auslagerungsdateigröße plus des für den Paging verfügbaren physischen Arbeitsspeichers (dies schließt RAM aus, das nicht auslagerbaren Bereichen zugewiesen ist). Der entsprechende Leistungsindikator heißt "Commit Limit".
  • Peak ist der höchste Betrag, der seit dem letzten Neustart des Computers die gesamte Commit-Gebühr erreicht hat.

Die Commit-Gebühr steigt, wenn ein Programm geöffnet und verwendet wird, und fällt ab, wenn ein Programm geschlossen wird. Dies ändert sich auch, wenn bereits laufende Programme privaten virtuellen Speicher zuweisen oder freigeben. Zum Beispiel mit den APIs von VirtualAlloc und VirtualFree.

Das Festschreibungslimit kann erhöht werden, indem entweder zusätzliche Auslagerungsdateien erstellt werden oder, wenn die Auslagerungsdateierweiterung aktiviert ist, eine vorhandene erweitert wird. Das Betriebssystem erweitert die Auslagerungsdatei automatisch, wenn dies möglich ist, wenn die Gesamtgebühr für das Festschreiben das Limit erreicht. In einem solchen Fall wird ein Popup-Fenster mit dem Hinweis angezeigt, dass der virtuelle Arbeitsspeicher knapp wird.

Weitere Informationen finden Sie in der Dokumentation zu Windows XP .

Vielen Dank. Ich war mir ziemlich genau bewusst, was Commit Charge bereits war. Was mich jedoch stumpft, ist der Grund, warum es beim Ausführen von virtuellen Maschinen auf das stratosphärische Niveau ansteigt, aber nach dem Beenden nie wieder herunterfällt, was zu Speicherfehlern führen kann. thomasrutter vor 14 Jahren 0
In diesem Fall wäre dies ein Fehler im VirtualBox-Monitor. Anscheinend wurde für jede gestartete virtuelle Maschine ein Bündel zugewiesen, das dann nicht freigegeben wird, wenn die VM angehalten wird. Wenn Sie den Monitor schließen, sollte alles verschwinden. Jamie Hanrahan vor 7 Jahren 0
1
thomasrutter

Scheint, es ist ein Problem mit VirtualBox.

Ich habe die Intel Virtualisierungstechnologie in Virtualbox wie in einem anderen Forum vorgeschlagen deaktiviert und hatte bisher keine Probleme.