À quoi sert ma mémoire sur mon instance Amazon EC2?

9

J'exécute actuellement un seul nœud GPU Cluster Compute sur Amazon EC2 qui est répertorié comme ayant 22 Go de RAM par instance. topconfirme que l'instance dispose effectivement de 22 Go de RAM mais sur des systèmes inactifs, il semble que 5-6 Go de RAM sont constamment utilisés. Ni topne ps auxpeut identifier les processus auxquels cette utilisation est attribuable.

5-6 Go me semblent trop volumineux pour le système d'exploitation, mais je me trompe peut-être. Cela pourrait-il être une surcharge due à la virtualisation sur Amazon? Avez-vous d'autres idées ou suggestions sur la façon dont je pourrais retrouver cela?

Joe Corkery
la source
1
Incluez-vous le cache mémoire dans ce calcul? Il peut être utile d'afficher le contenu de proc meminfo.
Ray Vahey

Réponses:

7

La raison pour laquelle vous voyez une quantité substantielle de mémoire utilisée est que Linux en utilise une grande partie pour la mise en cache des fichiers.

Cela clarifierait probablement les choses pour vous:

http://www.linuxatemyram.com/

Rilindo
la source
5

Lorsque vous regardez en haut , la mémoire libre que vous voyez est la valeur avant la mise en cache du noyau.

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

Mon ordinateur portable représente 3985464 kilo-octets de mémoire totale. Mais le noyau Linux mettrait en cache la plupart de cela en interne, donc top n'affiche que 619748 Ko de mémoire libre. Mais si vous le regardez en utilisant la commande gratuite , vous comprenez qu'en fait, la plupart de la mémoire est disponible ... dans le cache.

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

La vraie mémoire libre est celle indiquée sur la ligne tampons / cache .

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

Cette machine dispose de 2,8 Go de mémoire libre.

Julien Vehent
la source
C'est assez déroutant car je suppose que je ne comprends pas le rôle du cache. Que voulez-vous dire par "le noyau Linux mettrait en cache la plus grande partie de la mémoire totale de 3985464k" ? Vous déclarez topqu'alors seulement affiche un autre nombre, mais seulement montre que l'autre nombre sera inférieur, mais le nombre que vous citez est supérieur. Insérez ici un smiley qui gratte la tête.
Adam