一.问题的来源 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
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 (责任编辑:IT) |