服務端監控效能的免費工具:Nmon系統使用情況採集+nmon_analyzer結果圖形化
一、安裝使用
監控,在檢查系統問題或優化系統性能工作上是一個不可缺少的部分。通過作業系統監控工具監視作業系統資源的使用情況,間接地反映了各伺服器程式的執行情況。根據執行結果分析可以幫助我們快速定位系統問題範圍或者效能瓶頸點。
nmon是一種在AIX(IBM 公司的UNIX作業系統)與各種Linux作業系統上廣泛使用的監控與分析工具,相對於其它一些系統資源監控工具來說,nmon所記錄的資訊是比較全面的,它能在系統執行過程中實時地捕捉系統資源的使用情況,並且能輸出結果到檔案中,然後通過nmon_analyzer工具產生資料檔案與圖形化結果。
nmon所記錄的資料包含以下一些方面(也是我們在尋找問題過程中所關注的資源點):
●cpu佔用率
●記憶體使用情況
●磁碟I/O速度、傳輸和讀寫比率
●檔案系統的使用率
●網路I/O速度、傳輸和讀寫比率、錯誤統計率與傳輸包的大小
●消耗資源最多的程序
●計算機詳細資訊和資源
●頁面空間和頁面I/O速度
●使用者自定義的磁碟組
●網路檔案系統
1、nmon工具:
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/
2、nmon analyser工具:
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/
下載好的nmon+nmon analyser
將nmon.tar.gz用ftp工具上傳伺服器,並解壓tar -zxvf,可以看到解壓出很多shell指令碼,字尾名是適應的系統
檢視系統版本
uname -a
cat /etc/redhat-release
選擇適用centos7指令碼,執行命令./nmon_x86_64_centos7,出現下面介面代表成功
可以按提示字母,檢視相應模組
# c 檢視CPU相關資訊
# m 檢視記憶體相關資訊
# d 檢視磁碟相關資訊
# n 檢視網路相關資訊
# t 檢視相關程序資訊
# h 檢視幫助相關資訊
# q 退出nmon
二、nmon採集資料
nmon通過命令列啟動監控,捕獲伺服器的各項資料,命令如下:
./nmon_x86_64_centos7 -s 10 -c 60 -f -m /root/nmon
# 引數說明
-f 監控結果以檔案形式輸出,預設機器名+日期.nmon格式
-F 指定輸出的檔名,比如test.nmon
-s 每隔多少秒抽樣一次,單位是秒,上述命令配置是10s;
-c 取樣次數,上述命令配置是60,即監控總時長為10*60=600秒
-m 指定生成的檔案目錄
該命令執行後,會在/home/nmon目錄下生成以hostname_YYYYMMDD_HHMM.nmon格式命名的監控檔案,並將監控資料寫入檔案,nmon程序會在監控完成後自動退出,如需強制退出,先查詢nmon程序 “ps –ef | grep nmon”,然後kill掉即可。
生成檔案:
三、nmon analyser結果圖形化
使用nmon analyser對nmon檔案進行解析,生成帶圖表資訊的xlsx格式檔案
1、伺服器下載nmon檔案
2、開啟nmon analyser,選擇nmon檔案
3、生成帶圖表資訊的xlsx格式檔案
通過nmon analyser工具,我們已經將nmon檔案轉換成xlsx格式的結果檔案,開啟結果檔案,可以發現每個sheet頁對應一個指標資料,一般在效能測試中,主要關注以下指標:
SYS_SUMM
CPU_ALL
CPU_SUMM
DISK_SUMM
DISKBUSY
MEM
NET
每個指標對應結果檔案中的同名sheet頁,每個頁面除了取樣資料,還提供了對應的圖表資料。在實際結果分析時,一般選擇效能測試中所取樣的資料,也就是說,如果你的nmon程式是在效能測試前就啟動的,或者效能測試結束後仍然有采樣的,此時的結果檔案會包括一些非相關的資料。所以,我的建議是:在效能測試開始後啟動nmon監控,通過設定監測時長使nmon在效能測試結束前退出。
1、系統彙總頁面(SYS_SUMM):
該頁面主要顯示系統CPU(藍線)和I/O(粉紅線)的使用情況,其中座標左縱軸為cpu(user%+sys%)使用率,橫軸為執行時長,右縱軸為磁碟傳輸次數(Disk xfers),座標圖下方展示統計數
其中,User%為使用者程序的CPU佔比,Sys%為系統和中斷的CPU佔比,Wait%為程序阻塞等待完成一次IO請求的CPU佔比,Idle%為空閒CPU佔比。通常,CPU被充分使用的經驗值是:User%:65%-70%;Sys%:30%-35%;Idle%:0%-5%。
2、CPU使用情況(CPU_ALL、CPU_SUMM):
CPU_ALL頁面展示在取樣週期內伺服器的CPU的使用情況,實際上,與SYS_SUMM展示的CPU資料是相同的,區別只是前者使用線狀圖表示。
CPU_SUMM頁面展示的是每顆CPU的使用情況,與使用top命令,按數字鍵”1”顯示各顆CPU的效果是一樣的。
3. 磁碟使用情況(DISK_SUMM、DISKBUSY):
DISK_SUMM頁面主要顯示磁碟讀、寫、IO情況,其中,需要注意的是:某一時間點的磁碟讀寫資料(Disk Read KB/s\Disk Write KB/s)等於該時間點上所有磁碟和分割槽的Read/Write的速率(KB/s)之和,分別與頁面DISKREAD、DISKWRITE對應;某一採集時間點的IO/sec等於頁面DISKXFER中該時間點上所有磁碟和分割槽的IO/sec之和。因此,該時間點上的I/O值統計是會有重複的。
DISKBUSY頁面主要顯示各個磁碟及分割槽的繁忙程度,是磁碟使用時間和全部時間的比值,即磁碟有百分之多少時間是活動的。通常,根據該頁面顯示的磁碟百分比資料,可以快速瞭解該磁碟的使用情況。
4. 記憶體使用情況(MEM):
MEM頁面主要顯示系統總記憶體、已用記憶體、可用記憶體、swap、cached等記憶體統計資訊,統計單位為MB,圖表左軸有個”千”字,單位換算後,memfree約19G,如圖:
5. 網路使用情況(NET):
NET頁面顯示伺服器各個網路介面卡讀寫資料情況,單位KB/s,注意與頻寬單位(bps)的換算,1MB/s = 8Mbps,如圖:
總結相當於二次學習和提煉,強化記憶,希望自己堅持下去