Когда на сервере заканчивается память, первое желание - открыть
top. Но он показывает только текущее состояние. Для автоматизации удобнее получить список самых “тяжёлых” процессов и использовать его в скриптах.▪️Быстрый рейтинг по RSS
Размер физической памяти, занимаемой процессом (RSS), можно посмотреть так:
ps -eo pid,user,comm,rss --sort=-rss | head -10
Поле rss выводится в килобайтах, поэтому сразу видно, кто потребляет больше всего ОЗУ.▪️Автоматическая проверка
Например, вывести процессы, использующие больше 1 ГБ памяти:
ps -eo pid,comm,rss \
| awk '$3 > 1048576 {
printf "%-8s %-20s %.1f MB\n", $1, $2, $3/1024
}'
Такой вывод уже удобно отправлять в отчёт или систему мониторинга.▪️Если нужен максимум информации
Часть данных о процессе хранится в
/proc:grep -E 'VmRSS|VmSize' /proc/1234/status
VmRSS - реально занятая физическая память.VmSize - всё адресное пространство процесса, включая ещё не загруженные страницы.Эти значения могут сильно отличаться.
▪️Не путайте RSS и VSZ
Большой
VSZ ещё не означает проблему. Многие приложения резервируют память заранее, но фактически используют лишь небольшую её часть.При поиске “пожирателей” памяти обычно ориентируются именно на
RSS.▪️Почему это важно
Периодическая сортировка процессов по RSS помогает заметить утечки памяти ещё до того, как сработает OOM Killer. Особенно полезно для Java, Python, Node.js и других долгоживущих сервисов.
BashTex 📱 #bash #linux