Linux Free zeigt eine hohe Speicherauslastung, aber Top nicht
Auf RedHat Linux 6.2 ich bin mit free -m
und es zeigt fast alle 8GB
verwendet
total used free shared buffers cached
Mem: 7989 7734 254 0 28 7128
-/+ buffers/cache: 578 7411
Swap: 4150 0 4150
Aber zur gleichen Zeit in top -M
ich kann nicht sehen, alle Prozesse mit allen diesen Arbeitsspeicher:
top - 16:03:34 up 4:10, 2 users, load average: 0.08, 0.04, 0.01
Tasks: 169 total, 1 running, 163 sleeping, 5 stopped, 0 zombie
Cpu(s): 0.7%us, 0.3%sy, 0.0%ni, 98.6%id, 0.4%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 7989.539M total, 7721.570M used, 267.969M free, 28.633M buffers
Swap: 4150.992M total, 0.000k used, 4150.992M free, 7115.312M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1863 sroot 20 0 398m 24m 9.8m S 0.3 0.3 3:12.87 App1
1 sroot 20 0 2864 1392 1180 S 0.0 0.0 0:00.91 init
2 sroot 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 sroot RT 0 0 0 0 S 0.0 0.0 0:00.07 migration/0
4 sroot 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 sroot RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 sroot RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
7 sroot RT 0 0 0 0 S 0.0 0.0 0:00.08 migration/1
8 sroot RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
Ich habe auch versucht diese ps mem-Skript aber es onlt zeigt über 400 MB Arbeitsspeicher verwendet wird.
InformationsquelleAutor der Frage DarVar | 2013-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schauen Sie nicht auf die "Mem" - Linie, Blick auf das darunter.
Den Linux-kernel verbraucht so viel Speicher, wie kann es um I/O-cache-Speicher (und anderen nicht-kritischen Puffer, aber der cache wird am meisten von diesem Einsatz). Dieser Speicher wird verzichtet, um die Prozesse, wenn Sie es beantragen. Den "-/+ buffers/cache" - Zeile zeigt Ihnen die eingestellten Werte nach dem I/O-cache berücksichtigt wird, ist die Menge an Arbeitsspeicher, der von Prozessen und der Betrag zur Verfügung, um Prozesse (in diesem Fall 578MB verwendet und 7411MB frei).
Den Unterschied des belegten Speichers zwischen den "Mem" und "-/+ buffers/cache-Zeile" zeigt Ihnen, wie viel von der kernel für die Zwecke der Zwischenspeicherung: 7734MB - 578MB = 7156MB in der I/O-cache. Wenn Prozesse diesen Speicher, der kernel wird einfach schrumpfen die Größe des I/O-cache.
InformationsquelleAutor der Antwort cdhowie
Ist auch, wie die erste Zeile zeigt
total used free shared buffers cached
Mem: 7989 7734 254 0 28 7128
-/+ buffers/cache: 578 7411
Wenn wir hinzufügen (Cache[7128] + buffer[28] + gratis[254]), erhalten wir etwa die zweite Zeile ist frei[7411] Wert
7128 + 28 + 254 = 7410
InformationsquelleAutor der Antwort Gnana