我有一个cron工作检查webserver(看看它是否有效),这很方便..
http://pastebin.com/raw.php?i=KW8crfzh
我想在cpu使用之后做类似的事情。我正在运行java后端,偶尔会获得70%+ cpu。我正在使用cron脚本自动杀死/重启java,如果cpu负载过高,这怎么可能?
答案 0 :(得分:1)
您可以在批处理模式下使用top
并结合某些代码来解析其输出。例如:
top -p 1234 -n 1 -b
将输出进程1234的状态快照。
答案 1 :(得分:1)
我使用这个脚本非常酷
#!/bin/bash
# author = Jaysunn
# Log
LOGFILE=/var/log/load_kill_log
# log the process causing the load at the time.
PSFILE=/var/log/ps_log
# Obtain the server load
loadavg=`uptime |cut -d , -f 4|cut -d : -f 2`
thisloadavg=`echo $loadavg|awk -F \. '{print $1}'`
if [ "$thisloadavg" -ge "10" ]; then
ps auxfww >> $PSFILE
date >> $LOGFILE
# Issue the command of choice. This can be any shell command.
## Put the command which restarts ..
fi
提供可执行权限并将其添加到crontab,并使用此脚本的正确路径。