Потребление RAM процессами пользователя в Linux обычно требуется проверять и ограничивать на общих серверах, на которых размещаются скрипты большого количества разных пользователей.
Как проверить потребление RAM для пользователя в 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
Команда выведет список с указанием идентификатора процесса и потребляемой процессом резидентной памяти.
Ещё один пример вывода по потреблению RAM для пользователя для сервера:
Процессами пользователя admin потребляется 11 Мб, процессами пользователя root потребляется 305 Мб.
Имя пользователя root передается в виде текста, без команды whoami
Читайте про аварийное завершение процессов из-за нехватки памяти и то как оградить определенные процессы от OOM при помощи cgours.
При нехватке памяти в целом нужно увеличивать объем RAM в системе добавляя количество оперативной памяти.
В некоторых случаях можно использовать SWAP файл или SWAP раздел. С ними определенное дисковое пространство будет использоваться системой как оперативная память.