您的位置:首页 > 运维架构 > Shell

shell脚本监控磁盘I/O,cpu,内存

2014-05-08 16:54 483 查看
脚本1:

#/bin/sh

i=1

for((i=1;i<=1000000;i++));do

date >> cpu.txt

top -d 1 -n 1|grep Cpu >> cpu.txt (实际测试结果:会有乱码)

date>>iostat.txt

iostat -d -m >> iostat.txt (实际测试结果:不如iostat -d -k -t 2准确)

sleep 10

done;

top:命令本身会刷新,如果不加-n 会阻塞,-n为打印几次,-d是时间间隔。

iostat :-m指定单位为MB/s

补充:

iostat -d -k -t 2 每个两秒会数据I/O信息,单位KB/s。

也可把for语句换成while语句。

执行脚本时,用screen命令,可以多视窗进行,不必担心关掉窗口就会停止运行。具体可以参考screen详解。

脚本2:利用sar命令可以监控cpu信息。nohup为后台执行。
#----定义变量-----

#可以变成参数

collectDelayTime=5 # sar采集时间间隔,单位秒

collectTime=60 # sar采集总时间,默认为一天,单位秒

#-----Main----

dDate=`date +%Y%m%d`

dTime=`date +%H:%m`

collectTimes=`expr ${collectTime} / ${collectDelayTime}`

nohup sar ${collectDelayTime} ${collectTimes} >> ${dDate}_cpu.log & sar ${collectDelayTime} ${collectTimes} -r >> ${dDate}_mem.log

nohup iostat -t ${collectDelayTime} -k >> ${dDate}_iostat.log
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: