感谢支持
我们一直在努力

统计多个CPU利用率

一.问题的来源


MySQL在Linux下是多线程的,而且只能将多个线程分布到一个CPU上。所以,企业中,使用小型服务器,或者PC SERVER,多个CPU利用率并不高。


基本上有1~2个在使用。本文主要为了统计CPU的利用率。希望引起大家注意。


二.程序实现


1.输入 top  -bn1  (b控制输出格式为文本格式,非交互格式)


[mysql@longxibendi.host]$  top -bn1


2.输入top ,进入交互模式,为下一步设置输出格式做准备


[mysql@longxibendi.host]$  top



然后输入   1


就可以看到多个CPU利用率了


top – 21:40:51 up 25 days,  9:32,  1 user,  load average: 0.15, 0.30, 0.33
Tasks: 101 total,   1 running,  96 sleeping,   0 stopped,   4 zombie
Cpu0  :  0.8% us,  0.3% sy,  0.0% ni, 98.4% id,  0.3% wa,  0.0% hi,  0.0% si
Cpu1  :  1.1% us,  0.2% sy,  0.0% ni, 98.6% id,  0.1% wa,  0.0% hi,  0.0% si
Cpu2  :  0.5% us,  0.1% sy,  0.0% ni, 99.4% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu3  :  0.4% us,  0.1% sy,  0.0% ni, 99.5% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu4  :  0.3% us,  0.1% sy,  0.0% ni, 99.5% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu5  :  0.3% us,  0.1% sy,  0.0% ni, 99.6% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu6  :  0.3% us,  0.1% sy,  0.0% ni, 99.6% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu7  :  0.2% us,  0.1% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si


3.保存当前输出格式的参数(配置输出)


在2的基础上按W ,然后按ctri+c


保存退出


按q


(这样就会在/home/mysql 下有.toprc文件)


4.编写 shell 程序cpu.sh


#!/bin/bash


while  true


do


     top -bcisSn1 >>cpu.log


    sleep 10


done


5.部署 cpu.sh 程序


   sh  cpu.sh &


三.分析日志


cat  cpu.log| grep cpu  等操作,就可以分析过去时间,各个cpu的利用率了。


这里省略…..,依个人爱好,输出,甚至可以把输出用cacti绘图出来。


四.删除配置文件


如果不想使用上述的top 输出格式,可以删除配置文件


rm /home/mysql/.toprc 


有兴趣可以看看.toprc的内容

赞(0) 打赏
转载请注明出处:服务器评测 » 统计多个CPU利用率
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏