Zitat:
Zitat von stangebelm beim hero hat er mir nach einiger zeit immer angezeigt speicher voll obwohl ich kaum programme drauf hatte. |
Die Speicherverwaltung in Linux funktioniert gänzlich anders als bei Windows, das scheint sehr viele Leute arg zu verwirren, wenn ich mir die Masse an Beiträgen dazu anschaue. Der Kernel räumt nicht aktiv genutzte Pages nicht weg, sondern lässt sie liegen, damit sie beim nächsten "Gebrauchtwerden" nicht erst in den RAM geladen werden.
Vielleicht bissel abstrakt, deshalb konkretes Beispiel (allerdings von meinem Dektop):
Code:
$ free -m
total used free shared buffers cached
Mem: 3963 3274 689 0 124 2061
-/+ buffers/cache: 1088 2875
Swap: 956 0 956 Was steht da nun?
Ich habe insgesamt 3963MB RAM, davon werden 3274MB genutzt, 689MB sind frei.
ABER von diesen 3274MB genutzten Speicher werden 2061MB nur gecached vorgehalten.
Die tatsächlich genutzte Speichergröße verrät uns free in der 2. Zeile - tatsächlich werden gerade 1088MB genutzt, und insgesamt 2875MB stehen dem Kernel zur Verfügung, die er an Applikationen verteilen kann.
Nach einiger Zeit wird der komplette Speicher immer belegt sein - aber eben nicht aktiv gebraucht. Wenn eine Applikation Speicher nachfragt, bekommt sie diesen auch sofort zugeteilt. Beendet sich diese Applikation nun, bleiben deren Pages aber im Speicher liegen, startest du diese
App dann nochmals, ist sie sofort da (da sie nicht erst in den RAM geladen werden muss).
Noch viel genauere Infos verrät dir `cat /proc/meminfo'.
Deshalb sind die Anzeigen der Taskmanager, die ich bisher gesehen habe, auch ziemlich genau nichts wert - stattdessen könnte man auch die Tage bis Weihnachten anzeigen, hat mit dem zur Verfügung stehenden RAM genau so viel (oder wenig

) zu tun