Назад | Перейти на главную страницу

Объем памяти, используемый каждым процессом

У меня есть сервер mysql, на котором запущен debian с 2GO RAM. Я хотел бы знать, какой объем памяти используется каждым процессом.

Я думал, что команда ps -aux и ее параметры. Но я вижу только 90 MO, используемых несколькими процессами, а free -m сообщает мне, что используется 1400 MO.

Есть ли способ лучше видеть процессы и используемую ими память?

srv-datax:~# free -m
             total       used       free     shared    buffers     cached
Mem:          2015       1476        539          0          0         70
-/+ buffers/cache:       1405        609
Swap:          486          0        486
#top

хороший вариант

#top -H

позволяет отслеживать все потоки

#top -U root

такой тип использования переключателя '-U' позволяет отслеживать список для конкретного пользователя

Вы должны опубликовать свой бесплатный вывод, чтобы мы знали, что вы читаете правильно. Использование памяти в Linux для процесса сложно конкретно определить, если вы действительно хотите вникнуть в подробности и иметь последнее ядро, проверьте cat /proc/<pid>/smaps.

Top отлично справляется, ищите эти заголовки:

VIRT  RES  SHR S %MEM

Другой вариант в том же духе, что и предложил AbhishekKr: ps aux даст вам разбивку памяти, используемой каждым процессом в системе.

VSZ => Виртуальный размер (используется физическая RAM + своп), RSS => Резидентный размер (только физическая RAM).
В % MEM столбец отображает% используемой физической RAM, если память не изменяет, уверен, кто-нибудь поправит меня, если я ошибаюсь :)

В дополнение к тому, что предложил Кайл Брандт, вы можете использовать Инструмент pmap что красиво резюмирует информацию, найденную в / proc / <pid> / smap. Если вы используете -d вариант, он покажет вам, сколько памяти отображено, совместно используется и установлено частной. Это, ИМХО, дает хороший обзор.

Я также могу предложить прочитать эта интересная статья об использовании памяти.