Топ процессов по потреблению памяти в Linux
Категория: system
Кто сжирает всю память? Какой процесс больше всего потребляет памяти? Сколько процесс занимает оперативной памяти? - частые вопросы системного администратора Linux. Существует множество утилит выводящие информацию о процессах в системе с указанием их параметров, в том числе и занимаемой памяти. А ведь в подавляющем большинстве дистрибутивов предустановленна программа ps - выводящая информацию о запущенных процессах в системе. С помощью нее легко получить ответы на наши вопросы:
ps -eo size,pid,user,command --sort -size | awk '{ ms=$1/1024 ; printf("%.1f Mb ",ms) } {print $0}'
Данная команда построчно выведет список процессов, отсортированных по объему занимаемой памяти. Так же будут указаны PID процесса, от какого пользователя запущен процесс и его команда запуска:
SIZE(Mb) SIZE PID USER COMMAND
1040.26 Mb 1065224 28599 username /usr/lib/firefox/firefox
и т.д
Чтобы отобразить только топ 10, скармливаем вывод утилите head:
ps -eo size,pid,user,command --sort -size | awk '{ ms=$1/1024 ; printf("%.1f Mb ",ms) } {print $0}' | head