Speicherfresser? Verwirrungen rund um free und top
Tuesday, January 31st, 2006Ab und zu will ich wissen wie es meinem Server so geht. Darum machte ich mich hinter die Installation von mrtg. Das ganz läuft schon gut, wie man hier sieht. Einen Schreck bekam ich als ich die Ausgabe von top las:
Mem: 256968k total, 252008k used, 4960k free, 8588k buffers
Mein MRTG zeigte aber nur die Hälfte der Auslastung an. Ich änderte meine mrtg.cfg nach einem anderen Beispiel ab und prombt war wirklich nur noch um die 5 MB frei. Ich machte mir schon Gedanken RAM aufzurüsten usw. Aber irgendwie kann das doch nicht sein. Es laufen schon einige Dienste (dhcp, dns, smb, nfs, www, smtp, imap …) auf dem Server aber so Speicherfressend können die nicht sein. Auch nach dem ich mir die Ausgaben von ps aux nachrechnete kam ich nicht auf so eine hohe Auslastung. Irgendwann entdeckte ich den Befehl free, er zeigt den realen Speicherverbrauch. Die Ausgabe etwa so aus:
total used free shared buffers cached
Mem: 256968 254168 2800 0 8904 131464
Eine zusätzliche Zahl ist dazu gekommen. cached was heisst das wohl? Nach einer kurzen Recherche war es klar. Mit cached ist der Speicher gemeint, der nicht gebraucht wird, aber trotzdem gecachte Daten beinhaltet um die Geschwindigkeit zu erhöhen. Dieser wird im Notfall lehrgeräumt. Also ist die Auslastung wie reale Auslastung wie MRTG aufgezeichnet hat run um 125 MB. Scheinbar bin ich einem Anfängerfehler auf den Leim gegangen. Aus Fehlern lernt man und ich bin froh, dass ich kein RAM organisieren muss.