【性能工具】Linux性能監控工具nmon使用指南

1 NMON部署

1.1工具簡介

Nmon是一款廣泛使用在Aix與Linux操作系統上的監控與分析工具,它記錄的信息非常全面,並支持生成數據文件與圖形化結果。

1.2 部署環境要求

支持廣泛:

  • 操作系統(Red      Hat, SUSE, Ubuntu, Fedora, OpenSUSE等)

  • 平臺      (Power, Mainframe, arm, x86 or x86_64)

1.3 安裝方法

Nmon工具安裝非常簡單,具體步驟如下:

  • 下載不同AIX和LINUX版本對應的nmon

  • 將NMON放在服務器文件夾中

  • 給NMON賦予可執行權限:chmod +x nmon

  • 運行NMON:./nmon


可從官網或SVN獲取工具:


2 NMON使用

2.1 NMON監控內容

Nmon能提供的監控內容非常全面,其中包括:

  • CPU使用率

  • 內存使用情況

  • 磁盤I/O速度、傳輸和讀寫比率

  • 文件系統的使用率

  • 網絡I/O速度、傳輸和讀寫比率、錯誤統計率與傳輸包的大小 

  • 消耗資源最多的進程

  • 計算機詳細信息和資源

  • 用戶自定義的磁盤組

  • 網絡文件系統

2.2 NMON使用方法

NMON提供了靈活的監控方法,既可以進行實時監控,也可以後臺監控,其中後臺監控會將監控信息寫入文件,配合使用nmon analyser解析數據文件、生成圖形化監控結果。

2.2.1 實時監控

Nmon安裝後,切換到工具目錄,執行”./nmon”命令(名稱以實際文件名而定,64位平臺文件名爲nmon_linux_64)即可運行程序。打開交互式窗口後,使用快捷鍵可以查看系統資源使用情況,如按“c”可以查看CPU相關信息;按“d”可以查看磁盤信息;按“t”可以查看系統進程信息,“m”、“n”分別對應內存和網絡;按“H”可以查看幫助信息。該監控方法實時性強,可以及時瞭解系統的運行情況。

部分資源監控操作舉例如下:

1)  運行./nmon_linux_64,即可進入nmon實時監控界面,如圖所示:

1.png

2)  ”c” 查看CPU使用情況:

2.png

3)  ”m” 查看內存使用情況:

3.png

4)  ”d” 查看磁盤IO使用情況:

4.png

5)  ”n” 查看網絡使用情況:

5.png

2.2.1 後臺監控

在性能測試中,通常會藉助nmon對測試期間的系統資源進行跟蹤記錄並寫入文件,以便後續分析,常用監控命令如下:

./nmon_linux_64 -s 10 -c 60 -f -m /home/nmon

其中各參數表示:

-s : 每隔多少秒抽樣一次,單位是秒,上述命令配置是10s;

-c :採樣次數,上述命令配置是60,即監控總時長爲10*60=600秒;

-f :按標準格式輸出文件hostname_YYYYMMDD_HHMM.nmon;

-m : 指定文件保存路徑;

該命令執行後,會在/home/nmon目錄下生成以hostname_YYYYMMDD_HHMM.nmon格式命名的監控文件,並將監控數據寫入文件,nmon進程會在監控完成後自動退出,如需強制退出,先查找nmon進程 “ps –ef | grep nmon”,然後kill掉即可。

2.3 NMON監控結果分析

通過後臺監控方式生成的.nmon文件,實際上是文本文件,可以直接用記事本或其他文本編輯工具打開,但可視化效果不好,也不方便分析。因此,通常使用nmon analyser對nmon文件進行解析,生成帶圖表信息的xlsx格式文件。

2.3.1 解析nmon文件

Nmon文件解析工具是nmon analyser,該工具可以從以下地址獲取:

  • 官網地址:https://www.ibm.com/developerworks/aix/library/au-nmon_analyser/


獲取工具後,無需安裝,進入工具目錄,雙擊nmon analyser vxx_x.xlsm格式的文件,即可打開工具界面,如圖所示:

6.png

如果界面提示安全警告,“宏已被禁用”,點擊【啓用內容】即可,如上圖紅框內容所示。此時,點擊【Analyze nmon data】,在windows文件選擇框中選擇待分析的nmon文件,等待分析、處理完成後,會在nmon文件目錄下生成同名但後綴名爲.xlsx的文件,後續分析在該xlsx文件中進行即可。

2.3.2 分析結果文件

通過nmon analyser工具,我們已經將nmon文件轉換成xlsx格式的結果文件,打開結果文件,可以發現每個sheet頁對應一個指標數據,一般在性能測試中,主要關注以下指標:

  • SYS_SUMM

  • CPU_ALL

  • CPU_SUMM

  • DISK_SUMM

  • DISKBUSY

  • MEM

  • NET

每個指標對應結果文件中的同名sheet頁,每個頁面除了採樣數據,還提供了對應的圖表數據。在實際結果分析時,一般選擇性能測試中所採樣的數據,也就是說,如果你的nmon程序是在性能測試前就啓動的,或者性能測試結束後仍然有采樣的,此時的結果文件會包括一些非相關的數據。所以,我的建議是:在性能測試開始後啓動nmon監控,通過設置監測時長使nmon在性能測試結束前退出。

接下來,對以上幾個主要指標頁面進行介紹。

2.3.3 主要指標頁面介紹

1. 系統彙總頁面(SYS_SUMM):

該頁面主要顯示系統CPU(藍線)和I/O(粉紅線)的使用情況,其中座標左縱軸爲cpu(user%+sys%)使用率,橫軸爲運行時長,右縱軸爲磁盤傳輸次數(Disk xfers),座標圖下方展示統計數據。

7.png

其中,User%爲用戶進程的CPU佔比,Sys%爲系統和中斷的CPU佔比,Wait%爲進程阻塞等待完成一次IO請求的CPU佔比,Idle%爲空閒CPU佔比。通常,CPU被充分使用的經驗值是:User%:65%-70%;Sys%:30%-35%;Idle%:0%-5%。

 

2. CPU使用情況(CPU_ALLCPU_SUMM):

CPU_ALL頁面展示在採樣週期內服務器的CPU的使用情況,實際上,與SYS_SUMM展示的CPU數據是相同的,區別只是前者使用線狀圖表示。

8.png

CPU_SUMM頁面展示的是每顆CPU的使用情況,與使用top命令,按數字鍵”1”顯示各顆CPU的效果是一樣的。

9.png


3. 磁盤使用情況(DISK_SUMMDISKBUSY):

DISK_SUMM頁面主要顯示磁盤讀、寫、IO情況,其中,需要注意的是:某一時間點的磁盤讀寫數據(Disk Read KB/s\Disk Write KB/s)等於該時間點上所有磁盤和分區的Read/Write的速率(KB/s)之和,分別與頁面DISKREAD、DISKWRITE對應;某一採集時間點的IO/sec等於頁面DISKXFER中該時間點上所有磁盤和分區的IO/sec之和。因此,該時間點上的I/O值統計是會有重複的。

10.png

DISKBUSY頁面主要顯示各個磁盤及分區的繁忙程度,是磁盤使用時間和全部時間的比值,即磁盤有百分之多少時間是活動的。通常,根據該頁面顯示的磁盤百分比數據,可以快速瞭解該磁盤的使用情況。

11.png

4. 內存使用情況(MEM):

MEM頁面主要顯示系統總內存、已用內存、可用內存、swap、cached等內存統計信息,統計單位爲MB,圖表左軸有個”千”字,單位換算後,memfree約19G,如圖:

12.png

5. 網絡使用情況(NET):

NET頁面顯示服務器各個網絡適配器讀寫數據情況,單位KB/s,注意與帶寬單位(bps)的換算,1MB/s = 8Mbps,如圖:

13.png


3 總結
   nmon是linux平臺一款優秀的性能監控工具,除了功能齊全的是啥交互模式外,更常用的功能是後臺監控,通過一條命令即可獲取服務器全面的資源使用數據,正因爲這樣,官網對自己工具的評價耐人尋味,“Why use five or six tools when one free tool can give you everything you need!!


4 其他資源

  關於python學習、分享、交流,筆者開通了微信公衆號【小蟒社區】,感興趣的朋友可以關注下,歡迎加入,建立屬於我們自己的小圈子,一起學python。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章