Этот вопрос отличается от вопроса о как увидеть использование памяти процессом Linux.
Так же top
Команда не дает точную используемую память, а только какой процент используется одним процессом, поэтому есть ли какой-нибудь мощный инструмент, который я могу использовать для легкого мониторинга использования памяти каждым процессом в Linux?
Мммм, как насчет top
?
В VIRT
, RES
, и SHR
столбцы (которые по умолчанию присутствуют в каждой версии топа, которую я использовал) перечисляют потребляемую память (в КБ), что именно то, что вы ищете.
Пользуюсь htop.
Дополнительные символы .....
Если тебе не нравится top
по какой-либо причине вы также можете отслеживать использование памяти запущенным процессом (и почти всем остальным) с помощью Cacti
, что также даст вам хороший визуальный результат.
Фактически, кто-то на форумах Cacti написал сценарий именно для этого ... использование памяти вашими запущенными процессами на одном графике. Это для Windows, но это довольно просто (даже проще) сделать в Linux с помощью Cacti.
Короткий ответ - нет.
Области памяти, назначенные для процесса, могут быть доступны только для чтения, копирования при записи или записи. Только в случае записываемой (не разделяемой) памяти она назначается непосредственно процессу. Страницы только для чтения и COW нельзя легко подсчитать только один раз, если они имеют несколько ссылок (поскольку каждый процесс видит физические страницы по разным адресам).
ps_mem.py работает лучше, чем ps / top и др. - но он все еще далек от точного измерения того, что на самом деле происходит с памятью, особенно на машине с большим количеством серверов.