Nun, das fängt schon mit dem Test an:
Jeder Programmstart verändert den SM durch das Laden von DLL's oder weil die PMMERGE.DLL Speicher für die Fenster reserviert.
Zum Thema Interpretation:
Dass XX MB frei sind bedeutet noch nicht, dass sie am Stück frei sind (das aber ist Voraussetzung, wenn ich große DLL's mit mehreren MB laden möchte). Und weniger angezeigter SharedMem kann in Wirklichkeit sogar mehr freien Platz bedeuten, nämlich dann wenn zwischen Shared und Private Arena noch Platz ist und nicht wie im Beispiel von Andreas 0MB. Dann kann der Kernel bei Bedarf die jeweilige Arena noch erweitern, wenn sie sich "getroffen" haben ist Schluß und es gibt nur noch den freien Speicher innerhalb der Arena.
Desswegen auch meine Empfehlung, das DLLBASING abzuschalten - es sorgt nämlich dafür, dass einige System-Dll's (wie z.B. die PMMERGE.DLL) an bestimmte fixe Adressen geladen werden. Das hat den Vorteil, dass der Loader keine Fixups berechnen muss (bei den heutigen CPU-Geschwindigkeiten merkt das aber keiner mehr), erkauft mit dem Nachteil, dass die Shared Arena schon nach dem Systemstart durchlöchert ist wie ein Sieb - die Shared Arena grenzt an die Private Arena, dazwischen gibt es Löcher freien Speichers und wenn etwas so Groß ist, dass es in kein Loch mehr hineinpasst dann war's das. Mit Theseus kann man das sehr schön sehen, was wohin plaziert wird.
[ Leser: 236 ] |