Меня немного смущает статистика памяти, которую htop сообщает на одном из наших серверов. На верхних полосках системная память отображается как:
Mem: 456 / 7950MB
Таким образом, выглядит очень мало использования.
Однако мой основной процесс показывает использование памяти как:
VIRT RES SHR MEM%
13.3G 2388M 2239M 30%
Хм, намного выше.
Почему в системной статистике используется только 456 МБ, когда процесс сообщает, что используется 2388 МБ?
Обновить Вот результат free
:
total used free shared buffers cached
Mem: 8141292 5425364 2715928 0 103560 4839368
-/+ buffers/cache: 482436 7658856
Swap: 2097148 0 2097148
Htop показывает память: МУЖЧИНЫ ИТОГО, ИСПОЛЬЗУЕМЫЕ, БУФЕРЫ И КЭШ. Если вы суммируете использованные, буферы и кеш, вы получите результат, равный результату свободной команды. Htop вам необходимо учитывать все результаты, потому что процесс может использовать любую память. Man htop описывает память:
M_SIZE (VIRT)
Size in memory of the total program size.
M_SHARE (SHR)
The size of the process’s shared pages
PERCENT_MEM(MEN%)
The percentage of memory the process is currently using (based on the process’s resident memory size, see M_RESIDENT below).
M_RESIDENT (RES)
The resident set size, i.e the size of the text and data sections, plus stack usage.
Надеюсь, я помог.
Почему в системной статистике используется только 456 МБ, когда процесс сообщает, что используется 2388 МБ?
Вы неверно истолковываете htop
вывод.
Сообщается, что 456 МБ занимают свободно из 7950 МБ общей оперативной памяти.