shell腳本統計多個CPU利用率


本節主要內容:
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中的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM