Was verwendet mein Speicher auf meiner Amazon EC2-Instanz?

9

Ich verwende derzeit einen einzelnen GPU-Cluster-Compute-Knoten auf Amazon EC2, der 22 GB RAM pro Instanz aufweist. topbestätigt, dass die Instanz zwar 22 GB RAM hat, aber auf einem inaktiven System scheinen 5-6 GB RAM konsistent verwendet zu werden. Weder topnoch ps auxkönnen die Prozesse identifiziert werden, auf die diese Verwendung zurückzuführen ist.

5-6 GB scheinen mir zu groß für das Betriebssystem zu sein, aber vielleicht irre ich mich. Könnte dies ein Overhead aufgrund der Virtualisierung bei Amazon sein? Irgendwelche anderen Ideen oder Vorschläge, wie ich das aufspüren könnte?

Joe Corkery
quelle
1
Beziehen Sie den Speichercache in diese Berechnung ein? Es kann nützlich sein, den Inhalt von proc meminfo anzuzeigen.
Ray Vahey

Antworten:

7

Der Grund, warum Sie sehen, dass eine erhebliche Menge an Speicher verwendet wird, ist, dass Linux einen Großteil davon für das Zwischenspeichern von Dateien verwendet.

Dies würde wahrscheinlich die Dinge für Sie klären:

http://www.linuxatemyram.com/

Rilindo
quelle
5

Wenn Sie nach oben schauen , ist der freie Speicher, den Sie sehen, der Wert vor dem Kernel-Caching.

top - 12:59:25 up 1 day, 15:47,  5 users,  load average: 0.04, 0.10, 0.12
Tasks: 161 total,   1 running, 160 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.5%us,  1.8%sy,  0.0%ni, 94.2%id,  0.4%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   3985464k total,  3369908k used,   615556k free,   752964k buffers
Swap:  1951740k total,       12k used,  1951728k free,  1439160k cached

Mein Laptop als 3985464 Kilobyte Speicher insgesamt. Aber der Linux-Kernel würde das meiste davon intern zwischenspeichern, sodass oben nur 619748 KB freien Speicher anzeigen. Wenn Sie es sich jedoch mit dem Befehl free ansehen , verstehen Sie, dass tatsächlich der größte Teil des Speichers verfügbar ist ... im Cache.

$ free
             total       used       free     shared    buffers     cached
Mem:       3985464    3365716     619748          0     752796    1439152
-/+ buffers/cache:    1173768    2811696
Swap:      1951740         12    1951728

Der echte freie Speicher ist derjenige, der in der Puffer- / Cache- Zeile angezeigt wird.

             total       used       free     shared    buffers     cached
-/+ buffers/cache:    1173768    2811696

Diese Maschine verfügt über 2,8 GB freien Speicher.

Julien Vehent
quelle
Das ist ziemlich verwirrend, da ich die Rolle des Caches wohl nicht verstehe. Was meinst du mit "der Linux-Kernel würde den größten Teil des [Gesamtspeichers von 3985464k] zwischenspeichern" ? Sie geben an, dass topdann nur eine andere Nummer angezeigt wird, aber nur, dass die andere Nummer kleiner ist, die von Ihnen angegebene Nummer jedoch größer ist. Fügen Sie hier einen Head-Scratch-Smiley ein.
Adam