用shell脚本编写一个简单的性能监测工具

代码如下:

#!/bin/bash
#获取所有java进程pid并输入到数组中
pids=($(ps -ef | grep 'java -jar' |grep -v grep |awk '{print $2}')) 
#间隔多少时间执行一次
interval=600
while true
do
 sleep $interval
 #将当前时间输入到日志中
 echo $(date +"%y-%m-%d %H:%M:%S") >> proc_memlog.log
 #循环取出java进程pid
 for pid in ${pids[@]}	
 do
 	#获取进程详细信息并输入到日志中
    ps -ef|grep $pid|grep -v grep  >>proc_memlog.log	
    #获取内存占用
    cat  /proc/$pid/status|grep -e VmRSS >> proc_memlog.log  
    #获取cpu占用 
    cpu=`top -n 1 -b -p $pid|grep $pid|awk '{ssd=NF-3} {print $ssd}'`    
    echo "Cpu: " $cpu >>  proc_memlog.log  
    echo $blank >>  proc_memlog.log  
 done
done


#nohup ./java.sh>/dev/null 2>&1 &  #启动脚本

你可能感兴趣的:(linux)