Потребление памяти процессами пользователя в Linux

Потребление памяти процессами пользователя в Linux обычно требуется проверять и ограничивать на общих серверах, на которых размещаются скрипты большого количества разных пользователей.

Это могут быть сервера хостинга.

Узнать количество потребляемой в данный момент памяти для пользователя admin

ps -U admin —no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) «MB»}'

Значение выводится в мегабайтах.


Для текущего пользователя то же можно посмотреть добавив вместо имени в команду `whoami`

admin@home:~$ ps -U `whoami`—no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) «MB»}'
2712MB

Процессы можно отсортировать по потреблению памяти или вывести в виде списка

ps -U `whoami` -o rss,size,pid,command


RSS SIZE PID COMMAND
8336 1268 2513 /lib/systemd/systemd —user
2592 2464 2514 (sd-pam)
7332 25932 2527 /usr/bin/gnome-keyring-daemon —daemonize —login
5988 17288 2531 /usr/lib/gdm3/gdm-x-session —run-script env GNOME_SHELL_SESSI
124508 52092 2533 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/X



Команда выводет список с указанием идентификатора процесса и потребляемой процессом резидентной памяти.

Читайте про аварийное завершение процессов из-за нехватки памяти и то как оградить определенные процессы от OOM при помощи cgours.