Was ist der Unterschied zwischen Arbeitssatz und Festschreibungsgröße?
beim Debuggen OOM Fehler,, was ist der Unterschied zwischen Arbeits-set und commit-Größe? Vor allem was ist die genaue Bedeutung für die commit-Größe?
InformationsquelleAutor der Frage user705414 | 2011-10-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom hierdas working-set ist:
Die commit-Größe ist:
So können Sie denken, die Arbeit festlegen, wie viel physischen Speicher verwendet, während die commit-Größe zeigt die Größe des verwendeten virtuellen Speichers (sans Dinge wie DLLs oder memory-mapped-Dateien, die wieder durch andere Dateien als die Seite-Datei).
Sagte, diese zahlen sind im Allgemeinen nicht nützlich, wenn Sie versuchen zu finden, "memory leaks" in .NET. Stattdessen sollten Sie die Verwendung von third-party memory-Profiler.
InformationsquelleAutor der Antwort CodeNaked
Zugesicherten Speicher oder zugesicherter ist alle RAM, die CPU hat entweder zugeteilt, arbeitete mit, oder ist die Arbeit mit Anwendungen und das Betriebssystem.
Es ist eine Gesamt-Plattform zu laden, reflektieren die realen Speicher verwenden - oder ein Mangel an RAM als Auslagerungsdatei ins Spiel kommt.
Das Begehen Limit gleich installiert RAM (weniger hardware reserviert) oder RAM + Auslagerungsdatei sollte selbsterklärend sein, wenn man die oben genannten 🙂
Working Set ist nicht ein Maß für Speicher verwenden.
Working Set ist die Priorität gegeben, um die Daten im RAM die nicht ausgelagert werden für ungenügenden Arbeitsspeicher.
Festlegen der Arbeiten für einen Prozess, der dynamisch zugewiesen wird, die von der OS-Speicher-Manager (Balance-Manager).
https://msdn.microsoft.com/en-us/library/bb742613.aspx
Windows System Performance Tuning
Den höchsten Mindest-WS darf nur für 32-bit-Prozesse ist 4 GB, bei 64bit-Prozessen sind es 8GB.
Es ist nur die mindestens RAM garantiert für eine Anwendung, der tatsächlichen Nutzung und können in der Regel sehr viel größer ist.
Dies ist insbesondere der Fall bei 32bit Anwendungen auf 64bit-hardware.
Alles über 4GB ist, spiegelt sich nicht in der Working-Set, weil es auf der standby-Liste.
Beispielsweise Fallout New Vegas (32-bit-Anwendung) mit einer Tonne von mods, die können Essen, 9GB RAM, 5 GB wird auf der Standby-Liste.
Es ist leicht zu überprüfen, welche Daten sich im RAM durch 3rd-party-tools (wie Systernals).
Hinweis:
Zwischengespeicherten Daten nicht gezählt, gegen die Commit-Grenze (normalerweise geöffneten Dateien von der HDD).
Zwischengespeichert und Standby geleert wird zunächst noch einmal zu erleben Arbeitsspeicher.
Weder option ist ideal, wirklich. Besser, mehr RAM als kein Freier Speicher. Das ist, was RAM - Caching-Daten.
Commit Ladung ist auch ein guter Weg, um zu Messen, minimalen Arbeitsspeicher-Anforderungen für eine bestimmte Maschine
Mit dem PF eingeschaltet, wenn Commit höher ist als der RAM den Unterschied, wie viel mehr RAM braucht.
IBM beschreibt zugesicherter Speicher als verbraucht Arbeitsspeicher.
(https: //www.ibm.com/support/knowledgecenter/en/SSEPGG_9.7.0/com.ibm.db2.luw.qb.server.doc/doc/c0057140.html)
Windows Internals beschreibt Begangen Seiten, wie Seiten, die letztlich zu übersetzen, um physischen Speicher
(Microsoft Windows Internals 6th EditionKapitel 10: Speicher-Management - p.195)
AMD definiert sich als zu unwiderruflich schreiben Sie eine abgeschlossene Instruktion auf den physikalischen Speicher.
(http:/developer. amd.com/wordpress/media/2012/10/24593_APM_v21.pdf)
Alle RAM und Auslagerungsdatei kombiniert im OS-Kontext ist der Virtuelle Speicher.
Jede Virtuelle Adresse übersetzen sollten, um die physischen Speicher. Wenn nicht, können Fehler auftreten (null-Zeiger etc).
"Process Working Set" ist, was der Prozess ist bekannt als RAM.
Einen Abschnitt Objekt ist der gesamte physische Speicherplatz, die angezeigt werden können durch die CPU. Ob der Speicher ist RAM oder HDD, ist dabei unerheblich.
Auf 32bit-hardware ein section-Objekt ist 4 GB. Auf 64bit-hardware ist es 256TB.
Ein "segment" definiert einen virtuellen cache und "Working Set" definiert die cache-Ebene.
https://i.stack.imgur.com/9rZEW.jpg
Hinweis:
****Technet/MSDN-blogs finden Sie im Abschnitt Objekte als "backing store" oder die "Auslagerungsdatei-backed-Abschnitten" bei der Erörterung des memory-limits.
"Im Allgemeinen"(:P) diese blogs veröffentlicht wurden knapp 10 Jahren.
(Zu einer Zeit, als Intel versuchten Laufwerk AMD in den Boden, und Microsoft hatte gerade verkrüppelt XP/Vista 32, während die Förderung x64. Viele kennen die Geschichte (:P).
x86-32 beinhaltet IA-32 & K7, beide sind nun Dinosaurier.
AMD64 kam mit K8. Intel64 mit C2D.
Intel Staaten einen Engagierten Unterricht gerollt werden können zurück und verzögert.
Ich würde davon ausgehen, Rollback ist wegen HT und der latenten bedeutet lange verzögert, bis die swap-Datei kann frei RAM (wird dass).
Die Intel® 64 und IA-32 Architectures Software Developer ' s Manual Volume 3B:
System Programming Guide, Teil 217-10
Ingenieure beziehen sich teilweise auf Commit Charge "System Working Set" oder "CPU Working Set".
System Working Set-und Task-Manager-reporting.
https: //msdn.microsoft.com/en-us/library/bb742613.aspx
Seiten im Arbeitsspeicher referenziert durch eine CPU sollte nie geleert werden auf der Festplatte, denn es gibt immer eine chance, die CPU wird beim Verweis dieser Seiten wieder, und RAM-cache.
Systeme Ingenieure oder diejenigen, die sich mit Servern, kennt das schon..
In der Theorie ein Abschnitt-Objekt konnte 128TB -256TB auf 64bit hardware.
Wenn ein 32bit-Prozess schlägt in eine 4-GB-segment-Grenze der CPU-Punkte zu einem anderen virtuellen segment im RAM (far-Zeiger) und hält Sie auf LKW.
Nichts geändert hat, nicht auf der hardware-Seite mindestens.
Dies ist, wo die 32bit-API hat ein Defizit.
- Seiten verwiesen wird, die von einem 32bit Prozess aber außerhalb der 4-GB Working Set sind davon ausgegangen, dass auf eine Auslagerungsdatei, auch wenn keine Auslagerungsdatei vorhanden ist.
Den Seiten Hinzugefügt werden, um Standby-oder Cache als memory-mapped-Dateien (diese kann man mit RAMMap).
InformationsquelleAutor der Antwort Robert Fischer