Делюсь с вами очень классным скриптом для Linux, с помощью которого можно быстро и в удобном виде посмотреть использование оперативной памяти программами (не процессами!). Я изначально нашёл только скрипт на Python и использовал его, а потом понял, что этот же скрипт есть и в стандартных репозиториях некоторых дистрибутивов.
Например в Centos или форках RHEL:
Код:
dnf install ps_mem
В deb дистрибутивах нет, но можно поставить через pip:
Увидите примерно такой список. Я не разобрался, как конкретно этот скрипт считает потребление памяти. Сам автор пишет:
In detail it reports: sum(private RAM for program processes) + sum(Shared RAM for program processes). The shared RAM is problematic to calculate, and this script automatically selects the most accurate method available for your kernel.
Если взять, к примеру, один из вариантов для подсчёта памяти программы и всех её процессов:
То разница в результатах для программ, которые порождают множество подпроцессов, будет существенная. В принципе, это логично, потому что реально потребляемая память будет меньше, чем сумма RSS всех процессов программы. Для одиночных процессов данные совпадают.
Выглядит так, будто вам нужна информация о консольной утилите ps_mem, которая позволяет просмотреть использование оперативной памяти программами, а не процессами. Она доступна на Python и может быть установлена через pip.
Вы можете найти код утилиты на Python и скопировать его или установить ее с помощью pip. Затем вы можете запустить утилиту, чтобы увидеть информацию по использованию оперативной памяти различными программами.
Будьте внимательны, используйте только доверенные репозитории или исходный код для установки и запуска программ.