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

Есть ли какой-нибудь инструмент, который я могу использовать для простого отслеживания использования памяти каждым процессом в Linux?

Этот вопрос отличается от вопроса о как увидеть использование памяти процессом Linux.

Так же top Команда не дает точную используемую память, а только какой процент используется одним процессом, поэтому есть ли какой-нибудь мощный инструмент, который я могу использовать для легкого мониторинга использования памяти каждым процессом в Linux?

Мммм, как насчет top?

В VIRT, RES, и SHR столбцы (которые по умолчанию присутствуют в каждой версии топа, которую я использовал) перечисляют потребляемую память (в КБ), что именно то, что вы ищете.

Пользуюсь htop.

Дополнительные символы .....

Если тебе не нравится top по какой-либо причине вы также можете отслеживать использование памяти запущенным процессом (и почти всем остальным) с помощью Cacti, что также даст вам хороший визуальный результат.

Фактически, кто-то на форумах Cacti написал сценарий именно для этого ... использование памяти вашими запущенными процессами на одном графике. Это для Windows, но это довольно просто (даже проще) сделать в Linux с помощью Cacti.

Короткий ответ - нет.

Области памяти, назначенные для процесса, могут быть доступны только для чтения, копирования при записи или записи. Только в случае записываемой (не разделяемой) памяти она назначается непосредственно процессу. Страницы только для чтения и COW нельзя легко подсчитать только один раз, если они имеют несколько ссылок (поскольку каждый процесс видит физические страницы по разным адресам).

ps_mem.py работает лучше, чем ps / top и др. - но он все еще далек от точного измерения того, что на самом деле происходит с памятью, особенно на машине с большим количеством серверов.