Понимание разницы между системной и процессной памятью в htop

Меня немного смущает статистика памяти, которую 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

2 ответа

Htop show memory: МУЖЧИНЫ ВСЕГО, ИСПОЛЬЗОВАННЫЕ, БУФЕРЫ И КЭШ Если вы суммируете используемые, буферы и кеш, вы получите результат, равный результат команды free. Но вам нужно учитывать все результаты, потому что процесс может использовать любую память. 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 МБ общей оперативной памяти.

Другие вопросы по тегам