|
Mit freundlicher Unterstützung von:
|
Robert Waldner wrote:
Moin, Was ich nicht versteh, ist, warum wird da ueberhaupt Cache-Memory freigegeben, auch wenn ihn grad keine Applikation braucht? Wuerd's nicht mehr Sinn machen, moeglichst lang zu cachen? Wegschmeissen kann man die Daten ja immer noch, falls ein Prozess den Speicher spaeter mal braucht. Oder ist das eh alles ganz anders, und ich wurde nur noch nicht entsprechend erleuchtet? ;-)
Woher weißt du, daß keine Applikation Speicher angefordert hat? Ich halte das nach einer Laufzeit von einigen Stunden extrem unwahrscheinlich, da müssten schon alle Prozesse + Kernel quasi eingefroren werden. Ein Prozeß muß den Speicher ja nicht mal neu allokiert haben, es reicht schon, wenn eine bestimmte Seite zum ersten Mal beschrieben wurde, denn erst dann wird sie tatsächlich zugewiesen, sprich was vorher unter Virtual Memory aufschien wird nun auch im Resident Set verbucht. Das gleiche passiert, wenn ein laufender Prozess zum ersten Mal einen Code-Abschnitt ausführt, denn erst dann wird der Teil des Executables reingeladen. Oder wenn ein mmap()ed-Bereich von der Disk eingelesen wird...
Außerdem könnte der Kernel selbst Speicher benötigt haben, dafür gibts ebenfalls eine Unzahl an Möglichkeiten bzw. Gründen. Es könnte auch sein, daß eine Seite aus dem Swap-Bereich eingelagert wurde, und deswegen was anderes rausgeworfen wurde.
Dazu kommt noch, daß die Angaben zur Speichernutzung unter Linux ohnehin mit Vorsicht zu genießen sind...
|
the choice of a gnu generation linux user group austria; |
Suche
|
Letzte Änderung:
webmaster@luga.at September 2010 |