码迷,mamicode.com
首页 > 系统相关 > 详细

shell监控之列出1小时内cpu占用最多的10个进程

时间:2017-06-17 12:10:46      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:shell   pts   printf   分析   end   head   cpu   收集   cpu占用   

脚本内容如下:

-------------------------------------------------------------------------------------------------------

#!/bin/sh

#定义变量

secs=3600
unit_time=60

stepts=$(( $secs / $unit_time ))

echo CPU usage...;

for((i=0;i<stepts;i++))
do
    ps -eo comm,pcpu | tail -n +2 >> /tmp/cpu_usage.$$                          #$$表示当前进程pid信息
    sleep $unit_time
done

echo CPU eaters:

cat /tmp/cpu_usage.$$ | \
awk ‘{process[$1]+=$2}END{for(i in process){printf("%-20s %s\n",i,process[i])}}‘ | \                          #使用awk对收集结果进行统计分析
sort -nrk 2 | head

rm -f /tmp/cpu_usage.$$

-------------------------------------------------------------------------------------------------------------

shell监控之列出1小时内cpu占用最多的10个进程

标签:shell   pts   printf   分析   end   head   cpu   收集   cpu占用   

原文地址:http://www.cnblogs.com/wcwen1990/p/7039618.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!