一、概述
nmon是一種在AIX與各種Linux操作系統(tǒng)上廣泛使用的監(jiān)控與分析工具,相對于其它一些系統(tǒng)資源監(jiān)控工具來說,nmon所記錄的信息是比較全面的,它能在系統(tǒng)運行過程中實時地捕捉系統(tǒng)資源的使用情況,并且能輸出結(jié)果到文件中,然后通過nmon_analyzer工具產(chǎn)生數(shù)據(jù)文件與圖形化結(jié)果。
nmon所記錄的數(shù)據(jù)包含以下一些方面(也是我們在尋找問題過程中所關(guān)注的資源點):
·cpu占用率
·內(nèi)存使用情況
·磁盤I/O速度、傳輸和讀寫比率
·文件系統(tǒng)的使用率
·網(wǎng)絡(luò)I/O速度、傳輸和讀寫比率、錯誤統(tǒng)計率與傳輸包的大小
·消耗資源最多的進程
·計算機詳細信息和資源
·頁面空間和頁面I/O速度
·用戶自定義的磁盤組
·網(wǎng)絡(luò)文件系統(tǒng)
另外在AIX操作系統(tǒng)上,nmon還能監(jiān)控到其他的一些信息,如異步I/O等。
二、下載安裝nmon
1、下載安裝包:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
選擇下載相應(yīng)的版本,我下載的是 nmon16d_x86.tar.gz。解壓后里邊有很多版本的nmon,我用的是nmon_linux_x86_64,親測可用。
2、直接在window中將解壓好的nmon_linux_x86_64通過sftp上傳到要監(jiān)控的linux系統(tǒng)中對應(yīng)目錄下
3、執(zhí)行授權(quán)命令:
chmod +x nmon_x86_64_linux
4、運行./nmon_x86_64_linux,便可進入nmon的監(jiān)控界面,如下圖:
三、實時監(jiān)控
在完成配置后,只需要“#./nmon”命令即可運行程序,通過一些快捷鍵調(diào)取關(guān)心的系統(tǒng)資源指標進行顯示,如按鍵“C”可以查看CPU相 關(guān)信息;按鍵“D”可以查看磁盤信息;按鍵“T”可以查看系統(tǒng)的進程信息;“M”對應(yīng)內(nèi)存、“N”對應(yīng)網(wǎng)絡(luò)等等,完整的快捷鍵對應(yīng)內(nèi)容可以通過幫助(按鍵 “H”)查看,可以顯示Linux系統(tǒng)CPU、內(nèi)存、進程信息,包括了CPU的用戶、系統(tǒng)、等待和空閑狀態(tài)值,可用內(nèi)存、緩存大小以及進程的CPU消耗等詳細指標。該種方式顯示信息實時性強,能夠及時掌握系統(tǒng)承受壓力下的運行情況,每顆CPU利用率是多少、內(nèi)存使用多少、網(wǎng)絡(luò)流量多少、磁盤讀寫……這些數(shù)據(jù)均是實時刷新,一目了然。
鍵入“c”查看系統(tǒng)CPU使用情況
鍵入“m”查看系統(tǒng)內(nèi)存使用情況
鍵入“d”查看系統(tǒng)磁盤I/O情況
鍵入“h”查看幫助信息
四、nmon數(shù)據(jù)采集
4.1數(shù)據(jù)采集
為了實時監(jiān)控系統(tǒng)在一段時間內(nèi)的使用情況并將結(jié)果記錄下來,我們可以通過運行以下命令實現(xiàn):
#./nmon_x86_64_linux -f-t -s 30 -c 180 -m /home/
n -f:按標準格式輸出文件:<hostname>_YYYYMMDD_HHMM.nmon;
n -t:輸出中包括占用率較高的進程;
n -s 30:每30秒進行一次數(shù)據(jù)采集
n -c 180:一共采集180次
-m 生成的數(shù)據(jù)文件的存放目錄。
輸入命令回車后,將在/home目錄生成一個hostname_timeSeries.nmon的文件,如果hosname為test1,生產(chǎn)的文件為:LS-HDP-MH-VM-173-188_161108_1412.nmon。
如果想停止該監(jiān)控,需要通過“#ps –ef|grep nmon”查詢進程號,然后殺掉該進程以停止監(jiān)控。
通過sort命令可以將nmon結(jié)果文件轉(zhuǎn)換為csv文件:
# sort -A LS-HDP-MH-VM-173-188_161108_1412.nmon> LS-HDP-MH-VM-173-188_161108_1412.csv
執(zhí)行完sort命令后即可在當(dāng)前目錄生產(chǎn)LS-HDP-MH-VM-173-188_161108_1412.csv文件。
4.2生成圖形化結(jié)果
為了分析nmon監(jiān)控獲得的結(jié)果,IBM還提供了相應(yīng)的圖形化分析工具nmon_analyser,通過nmon analyser.xls工具可以把監(jiān)控的結(jié)果文件轉(zhuǎn)換成excel文件,方便分析系統(tǒng)的各項資源占用情況。
下載nmon_analyser(生成性能報告的免費工具):
nmon analyser.xls工具的使用方法如下:
(1)打開nmonanalyser.xls工具;
(2)調(diào)整excel宏安全性:工具-宏-安全性
(修改安全級別與可靠發(fā)行商)
(選擇)安全級別:低
(勾上)信任所有安裝的加載項和模板
(勾上)信任對于“Visual Baisc項目”的訪問
(3)修改完后,確定-關(guān)閉nmon analyser.xls,重新打開;
(4)點擊Analyse nmondata按鈕,加載之前下載的LS-HDP-MH-VM-173-188_161108_1412.nmon文件。
以下是分析結(jié)果的截圖:

五、結(jié)束nmon運行
nmon運行本身是會消耗系統(tǒng)資源,如需關(guān)閉nmon,直接kill掉
ps -ef | grep nmon (得到pid)
kill -9 pid (安全kill)
六、定時任務(wù)
除配合性能測試的短期監(jiān)控,我們也可以實現(xiàn)對系統(tǒng)的定期監(jiān)控,作為運營維護階段的參考。定期監(jiān)控實現(xiàn)如下:
執(zhí)行命令:#crontab -e
在最后一行添加如下命令:
0 8 * * 1,2,3,4,5 /opt/nmon_x86_64_linux -f -N -m/nmon/log -s 30 -c 1200
表示:
周一到周五,從早上08點開始,監(jiān)控10個小時(到18:00整為止),輸出到/nmon/log
七、nmon關(guān)鍵指標列表
4.1 系統(tǒng)匯總(對應(yīng)excel標簽的‘SYS_SUMM’)
藍線為cpu占有率變化情況;
粉線為磁盤IO的變化情況;
4.2磁盤讀寫情況匯總(對應(yīng)excel標簽的‘DISK_SUMM’)
藍色為磁盤讀的速率KB/sec
紫色為磁盤寫的速率KB/sec
4.3內(nèi)存情況匯總(對應(yīng)excel標簽的‘MEM’)