2009-05-28 12 views
1

wenn ichSpeicherauslastung auf Linux-Systemen

top 

auf einem Linux-System laufen, kann ich eine Menge Informationen über die Speichernutzung sehen.

Mem: 15736360k total, 8415332k used,28k free, 174876k buffers 
Swap:  0k total,  0k used,  0k free, 2630508k cached 

Ich habe mich gefragt: Was ist die "Cache" ist Attribut mir zu sagen? Scheint so, als ob es überhaupt nicht befreit wird - ist das normales Verhalten?

Wir führen memcached für unsere Web-Apps. Hat das etwas damit zu tun?

Matt

Antwort

7

Sie können (und vielleicht sollte) auch den free Befehl Speicherstatus drucken:

   total  used  free  shared buffers  cached 
Mem:  515568  504740  10828   0  44248  427800 
-/+ buffers/cache:  32692  482876 
Swap:  915664  64820  850844 

Der „Puffer/Cache“ Zeile sagt Ihnen, wie viel RAM der Kernel aktuell für verschiedene Puffer und Caches verwendet hat, hauptsächlich für Festplatten-I/OI. Dieser Speicher ist für Programme verfügbar, wenn sie es brauchen, aber bis sie es tun, wird es besser genutzt, wenn der Kernel es verwendet, um I/O zu puffern, als wenn es nur im Leerlauf ist.

3

Ich glaube, dass „Cache“ ist der Speicher für das Blockgerät verwendet wird (d.h. Disk) cache - wenn nötig, kann dieser Speicher sofort zum freien Speicher umgewandelt werden, so dass Anwendungen es verwenden können. Also zusammenfassend, betrachten Sie es als „frei“ :)

2

Es gibt eine wunderbare Antwort auf Ihre Frage here. Kurz gesagt, das Linux-Swap-System kann die gleichen Seiten im Speicher und auf der Festplatte haben. Dies kann passieren, wenn eine Seite aus dem Austausch importiert und nicht geändert wird. Wenn dies geschieht, bevorzugt das System, die Seite nicht von der Festplatte zu löschen, da sie es möglicherweise unnötigerweise neu schreiben muss. Eine Datenstruktur wird benötigt, um den Status des Austausches zu verfolgen und zwischenzuspeichern und welche Seiten ausgelagert werden, die nicht usw. sind. Die Details sind in der Verbindung, aber der Auslagerungscache ist die Datenstruktur, die diese Buchhaltung handhabt Die Größe hängt davon ab, wie groß die Seitentabelle ist.

2

Sie einfach wissen lassen, gute Sachen:

ServerFault startet - es ist für Stackoverflow sysadmins