设为首页 收藏本站
查看: 2030|回复: 6

Shell脚本编程——CPU使用率的监控

[复制链接]

尚未签到

发表于 2013-3-17 16:59:53 | 显示全部楼层 |阅读模式

系统设计和应用编程中,常常要进行性能优化或负载问题排查,一般涉及到系统或进程的CPU使用率。CPU使用率可以反应系统的负载,也可以反应各个进程的具体情况。为了发现问题或调试程序,就有必要监控系统的CPU使用率。Linux系统中CPU使用率的监控工具有vmstat、mpstat、ps、top等。

1.  CPU使用率监控工具
    CPU使用率的主要监控工具有:
vmstat
mpstat(top+1类似)
ps(top+P类似)
    vmstat工具可以大概知道系统的CPU使用率。mpstat工具则能显示每一个核的CPU使用率,或者进入top后再按数字1也可以显示每个核的CPU使用率。top或ps工具来细化到每一个进程的CPU使用率。

2.  CPU使用率监控示例
    每隔一秒显示系统的概况,包括CPU的使用率:
[nano: /home/luojianh ]$ vmstat 1
procs   -----------memory--------         --swap--  ---io---  --system--            -----cpu------  
r  b   swpd   free   buff  cache           si   so   bi   bo      in     cs            us sy id wa st
8  1   0 2563344 467536 7745908    0    0     5   35      2      6               3  20 77  0 0
7  0   0 2564116 467576 7747912    0    0  2036  632  6620 437995   30  51 17  2 0
2  1   0 2589984 467632 7749200    0    0   408    0     3680 469111   24  58 17  2 0
8  0   0 2557996 467648 7750060    0    0   160    0     2187 480338   28  54 14  3 0

    显示所有核的CPU使用率:
[nano: /home/luojianh ]$ mpstat -P ALL
Linux 2.6.18-194.17.4.el5PAE (nano)  03/14/2012  _i686_ (16 CPU)
10:52:23 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:52:24 AM  all    2.24    0.00    3.62    1.93    0.00    0.06    0.00    0.00   92.14
10:52:24 AM    0   29.00    0.00   12.00   31.00    0.00    0.00    0.00    0.00   28.00
10:52:24 AM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:52:24 AM    2    0.99    0.00    3.96    0.00    0.00    0.00    0.00    0.00   95.05
10:52:24 AM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:52:24 AM    4    0.00    0.00    4.04    0.00    0.00    0.00    0.00    0.00   95.96
10:52:24 AM    5    3.96    0.00    6.93    0.00    0.00    0.00    0.00    0.00   89.11
10:52:24 AM    6    1.00    0.00    7.00    0.00    0.00    0.00    0.00    0.00   92.00
10:52:24 AM    7    0.00    0.00    7.00    0.00    0.00    0.00    0.00    0.00   93.00
10:52:24 AM    8    0.00    0.00    3.00    0.00    0.00    0.00    0.00    0.00   97.00
10:52:24 AM    9    0.00    0.00    7.00    0.00    0.00    0.00    0.00    0.00   93.00
10:52:24 AM   10    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:52:24 AM   11    0.99    0.00    2.97    0.00    0.00    0.00    0.00    0.00   96.04
10:52:24 AM   12    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:52:24 AM   13    0.00    0.00    3.96    0.00    0.00    0.00    0.00    0.00   96.04
10:52:24 AM   14    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:52:24 AM   15    0.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   99.00

    显示前5位CPU占用的进程:
$ ps aux | sort -r -k 3 | head -6  
USER PID  %CPU %MEM  VSZ  RSS  TTY  STAT  START  TIME  COMMAND
root  11691  1.6   0.5   17364  11m    ?      S    Mar11   64:01.01  pm_client
root  10079  0.3   2.7    601m  67m    ?      S    Mar11   22:45.17  monitorAgent
root  10722  0.3   0.5   19416  11m    ?      S    Mar11   13:37.11  sysmtc
root   7392   0.3   0.1   31140 3044    ?      S    Mar11   0:01.18   solid
root          1  0.0   0.0    2132    748    ?      S    Mar11   0:35.81   [init]
    或者利用top自动按CPU占用率排名的特点,假设前面有7行信息:
$ top -d 1 -n 1 | head -13 | tail -6   
11:46:11 up 3 days, 19:13, 1 user, load average: 1.72, 1.87, 1.80
176 processes: 174 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: cpu user nice system irq softirq iowait idle
total 12.8% 0.0% 4.6% 0.2% 0.2% 18.7% 63.2%
Mem: 2055244k av, 2032692k used, 22552k free, 0k shrd, 18256k buff
1216212k actv, 513216k in_d, 25520k in_c
Swap: 4192956k av, 249844k used, 3943112k free 1218304k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14939 mysql 25 0 379M 224M 1117 R 38.2 25.7% 15:17.78 mysqld
4023  root  15 0 2120 972 784 R 2.0 0.3 0:00.06 top
1     root  15 0 2008 688 592 S 0.0 0.2 0:01.30 init
2     root  34 19   0   0   0 S 0.0 0.0 0:22.59 ksoftirqd/0
3     root  RT 0    0   0   0 S 0.0 0.0 0:00.00 watchdog/0

3.  CPU使用率监控脚本
    用上面的命令连续监控系统的详细CPU使用状况,shell脚本如下:




  • LOG_FILE=/tmp/cpu_status.log  
  • echo "CPU status of system and some processes" >> "${LOG_FILE}"  
  • while true; do  
  •     date >> "${LOG_FILE}"  
  •     vmstat 1 1 >> "${LOG_FILE}"  
  •     mpstat -P ALL 1 1 >> "${LOG_FILE}"  
  •     ps aux | sort -r -k 3 | head -6 >> "${LOG_FILE}"  
  •     sleep 10  
  • done  



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-4016-1-1.html 上篇帖子: shell脚本中的“请按任意键继续” 下篇帖子: shell 脚本 简单区域随机数的产生 编程 监控

尚未签到

发表于 2013-3-19 12:07:52 | 显示全部楼层
我真想亲口管你爷爷叫声:爹!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 15:26:05 | 显示全部楼层
长大了娶唐僧做老公,能玩就玩一玩,不能玩就把他吃掉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-21 02:23:45 | 显示全部楼层
为中华而努力读书!一包中华好多钱啊~~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-25 07:20:03 | 显示全部楼层
所有的男人生来平等,结婚的除外。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-31 18:53:01 | 显示全部楼层
走,MM,咱们化蝶去……

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-5 18:23:34 | 显示全部楼层
路过,支持一下啦

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表