服務端監控工具:Nmon使用方法


一、認識nmon

1、簡介

nmon是一種在AIX與各種Linux操作系統上廣泛使用的監控與分析工具,它能在系統運行過程中實時地捕捉系統資源的使用情況,記錄的信息比較全面,

並且能輸出結果到文件中,然后通過nmon_analyzer工具產生數據文件與圖形化結果。

2、nmon可監控的數據類型
內存使用情況

磁盤適配器

文件系統中的可用空間

CPU使用率

頁面空間和頁面速度

異步I/O,僅適用於AIX

網絡文件系統(NFS)

磁盤I/O速度和讀寫比率

服務器詳細信息和資源

內核統計信息

消耗資源最多的進程

運行隊列信息

3、特點
①、占用系統資源少(一般不到2%)

②、功能強大(監控數據類型全面)

③、結合grafana之類的儀表圖,可以更直觀的實時展示所監控的數據

④、移植性、兼容性較好

二、檢查安裝環境
# 查看操作系統的信息
uname -a
# 查看linux發行版本
lsb_release -a

我的操作系統為64位,linux版本為CentOS6.8版本,后面使用nmon要用對應的版本

三、nmon下載安裝
1、下載方式

①、下載到本地,通過FTP上傳到服務器
②、命令行wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz

2、安裝
下載完成后,執行以下命令:

# 新建一個nmon文件夾
mkdir nmon
# 新建一個nmon文件夾
mkdir nmon
# 移動,估計自己的版本選擇合適的nmon版本移動過去
mv nmon_x86_64_centos6 /root/nmon
# 給工具授權
chmod -x nmon

四、運行nmon
完成上面的操作后,切換到工具目錄,執行./nmon_x86_64_centos6命令,出現如下界面,說明安裝成功:

 

 

常用快捷命令說明:

1、# c
查看CPU相關信息
2、# m
查看內存相關信息
3、# d
查看磁盤相關信息
4、# n
查看網絡相關信息
5、# t
查看相關進程信息
6、# h
查看幫助相關信息
7、# q
退出nmon
輸入如上幾種命令,結果如下圖顯示:

 

 

 

 

 

五、采集數據
nmon通過命令行啟動監控,捕獲服務器的各項數據,命令如下:

./nmon_x86_64_centos6 -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掉即可。

PS:一般來說不建議對穩定性測試使用nmon監控,因為生成的nmon文件超過10M時,分析工具會由於內存不足導致報錯。

如果必須進行的話,建議加大采樣頻次,降低采樣次數(低於330次)。

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

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

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

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

 

 

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

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

SYS_SUMM

SYS_SUMM

CPU_ALL

CPU_SUMM

DISK_SUMM

DISKBUSY

MEM

NET

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

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

5.1.3 主要指標頁面介紹

系統匯總頁面(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%。

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,如圖:

 

 

3 總結
nmon是linux平台一款優秀的性能監控工具,除了功能齊全的是啥交互模式外,更常用的功能是后台監控,通過一條命令即可獲取服務器全面的資源使用數據,正因為這樣,官網對自己工具的評價耐人尋味,“Why use five or six tools when one free tool can give you everything you need!!”
————————————————
版權聲明:本文為CSDN博主「 Tison 」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_42884654/article/details/99559030


免責聲明!

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



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