Что использует мою память на моем экземпляре Amazon EC2?

9

В настоящее время я использую один узел GPU Cluster Compute на Amazon EC2, который указан как имеющий 22 ГБ ОЗУ на экземпляр. topподтверждает, что экземпляр действительно имеет 22 ГБ ОЗУ, но в незанятых системах оказывается, что 5-6 ГБ ОЗУ используется постоянно. Ни topне ps auxможет идентифицировать процессы, к которым относится это использование.

5-6 ГБ кажется мне слишком большим для ОС, но, возможно, я ошибаюсь. Может ли это быть издержками из-за виртуализации на Amazon? Любые другие идеи или предложения относительно того, как я мог бы отследить это?

Джо Коркери
источник
1
Вы включаете кэш памяти в этот расчет? Может быть полезно показать содержимое proc meminfo.
Рэй Вахей

Ответы:

7

Причина, по которой вы видите, что используется значительное количество памяти, заключается в том, что Linux использует большую ее часть для кэширования файлов.

Это, вероятно, прояснит для вас вещи:

http://www.linuxatemyram.com/

Rilindo
источник
5

Когда вы смотрите сверху , свободная память, которую вы видите, является значением до кэширования ядра.

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

Мой ноутбук как 3985464 килобайт памяти всего. Но ядро ​​Linux будет кешировать большую часть этого внутреннего, поэтому top показывает только 619748 КБ свободной памяти. Но если вы посмотрите на это с помощью команды free , вы поймете, что на самом деле большая часть памяти доступна ... в кеше.

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

Реальная свободная память - та, что показана в строке буферов / кэша .

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

Эта машина как 2,8 ГБ свободной памяти.

Жюльен Вехент
источник
Это довольно странно, так как, я думаю, я не понимаю роль кеша. Что вы подразумеваете под "ядром linux, которое кэширует большую часть [общей памяти 3985464k]" ? Вы заявляете, что topтогда показывает только другое число, но только показывает, означает, что другое число будет меньше, но число, которое вы цитируете, больше. Вставьте смайлик с нуля здесь.
Адам