É assim que monitora o total de RAM usado pelo apache:
ps -e -orss=,args= | awk '/apache/{ SUM += $1} END { print SUM }'
Altere apenas apache
para o seu processo.
Eu tenho um servidor Debian no qual alguns processos são desonestos de vez em quando e começo a consumir muita memória. Como eu poderia monitorar isso no nível do processo para poder definir um alarme? Atualmente monitora quando o servidor começa a usar muita memória, mas gostaria de monitorar o processo individualmente.
Você pode tentar usar monit
Use o Nagios e seu plugin "check_procs" com o parâmetro de métrica RSS:
-r, --rss=RSS
Only scan for processes with RSS higher than indicated.
Por exemplo:
"check_procs -w 1500000 -c 2000000 --metric=RSS"
Altere w & c para ajustar seus níveis de aviso e crítico para o processo de mau comportamento.
Para ver o RSS atual, use este one-liner e verifique o processo do seu RSS na terceira coluna:
ps -eo pid,ppid,rss,size,vsize,sz,pmem,comm
Tags monitoring debian memory oom