shell脚本统计多个CPU利用率详解程序员

本节主要内容:
top命令统计CPU的利用率

一,问题分析

MySQL在Linux下是多线程的,而且只能将多个线程分布到一个CPU上。
因此,使用小型服务器,或者PC SERVER,多个CPU利用率并不高。
基本上有1~2个在使用。

本节分享下统计CPU的利用率的方法,供大家学习参考。

相关阅读:
查看Linux系统资源占用(top、free、uptime)
top命令显示内容的详细解释

二,shell脚本实现

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

[[email protected]]$  top -bn1 

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

[[email protected]]$  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  

 有兴趣的话,可以cat下.toprc中的内容。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/3069.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论