本節主要內容:
top命令統計CPU的利用率
一,問題分析
MySQL在Linux下是多線程的,而且只能將多個線程分布到一個CPU上。
因此,使用小型服務器,或者PC SERVER,多個CPU利用率並不高。
基本上有1~2個在使用。
本節分享下統計CPU的利用率的方法,供大家學習參考。
相關閱讀:
查看Linux系統資源占用(top、free、uptime)
top命令顯示內容的詳細解釋
二,shell腳本實現
1.輸入 top -bn1 (b控制輸出格式為文本格式,非交互格式)
[mysql@jbxue]$ top -bn1
2.輸入top ,進入交互模式,為下一步設置輸出格式做准備
[mysql@jbxue]$ 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中的內容。