![监控进程何时开始使用过多内存](https://linux22.com/image/548297/%E7%9B%91%E6%8E%A7%E8%BF%9B%E7%A8%8B%E4%BD%95%E6%97%B6%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8%E8%BF%87%E5%A4%9A%E5%86%85%E5%AD%98.png)
我有一台 Debian 服务器,其中某些进程不时出现异常并开始消耗过多内存。我如何在进程级别监控此情况以便设置警报?目前,我监控服务器何时开始使用过多内存,但我想单独监控进程。
答案1
这是我监控 apache 使用的总 RAM 的方法:
ps -e -orss=,args= | awk '/apache/{ SUM += $1} END { print SUM }'
只需改变apache
你的流程即可。
答案2
您可以尝试使用监控
答案3
使用 Nagios 及其带有 RSS-metric 参数的“check_procs”插件:
-r, --rss=RSS
Only scan for processes with RSS higher than indicated.
例如:
"check_procs -w 1500000 -c 2000000 --metric=RSS"
改变 w 和 c 来适应错误行为过程的警告和临界水平。
要查看当前 RSS,请使用此单行代码并在第三列中检查其 RSS 的过程:
ps -eo pid,ppid,rss,size,vsize,sz,pmem,comm