coffee_cn

博客园 首页 新随笔 联系 订阅 管理

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2006/08/31/linux-system-process-monitoring/以及本声明。

以下这个脚本可以简单地监视Linux下各个进程的运行状况。

#!/bin/sh
PSLOG=~/ps-log
LOADLOG=~/load-log
INTERVAL=30    # ps 运行时间间隔
COUNTER=10     # 统计次数
while [ $COUNTER -gt 0 ]
do
TIME=$(date +%H:%M:%S)
cat /proc/loadavg |
sed -e "s/^/$TIME    /" >> $LOADLOG
ps -e --cols 200 o user,pid,ppid,pri,size,rss,stat,pagein,%cpu,%mem,time,cmd |
sed -e "s/^/$TIME    /" >> $PSLOG
echo $TIME  $(ls -hs $LOADLOG $PSLOG)
let COUNTER-=1
sleep $INTERVAL
done

该脚本每隔 $INTERVAL 秒执行一次 ps 命令并将结果记录到日志文件中,共执行 $COUNTER 次。因此 $INTERVAL * $COUNTER 即为监视时间。例如想监视 20:00~2:00 的情况,即可设置 COUNTER=720,因为 720 * 30 = 21600秒 = 6小时。

posted on 2008-01-05 14:20  coffee  阅读(381)  评论(0)    收藏  举报