nmon是一種在AIX與各種Linux操作系統上廣泛使用的監控與分析工具, nmon所記錄的信息是比較全面的,它能在系統運行過程中實時地捕捉系統資源的使用情況,并且能輸出結果到文件中。nmon工具可以幫助在一個屏幕上顯示所有重要的性能優化信息,并動態地對其進行更新。并且,nmon運行不會占用過多的系統資源,通常情況下CPU利用率不會超過2%。在更新的計算機上,其CPU使用率將低于百分之一。
針對不同的操作系統版本,nmon有相應版本的程序,需要注意的是該文件需要執行授權操作方可正常運行。官網下載地址:?http://nmon.sourceforge.net/pmwiki.php
?nmon 工具可以為 AIX 和 Linux 性能專家提供監視和分析性能數據的功能,其中包括:
CPU 使用率
內存使用情況
內核統計信息和運行隊列信息
磁盤 I/O 速度、傳輸和讀/寫比率
文件系統中的可用空間
磁盤適配器
網絡 I/O 速度、傳輸和讀/寫比率
頁面空間和頁面速度
CPU 和 AIX 規范
消耗資源最多的進程
IBM HTTP Web 緩存
用戶自定義的磁盤組
計算機詳細信息和資源
異步 I/O,僅適用于 AIX
工作負載管理器 (WLM),僅適用于 AIX
IBM TotalStorage? Enterprise Storage Server? (ESS) 磁盤,僅適用于 AIX
網絡文件系統 (NFS)
動態LPAR (DLPAR)更改,僅適用于面向AIX或Linux的pSeries p5 和OpenPower
實際工作中,nmon有三種常用的使用模式,分別是實時監控、后臺監控和定期監控模式。下面分別加以介紹
1、實時監控:在完成配置后,只需要“#./nmon”命令即可運行程序,通過一些快捷鍵調取關心的系統資源指標進行顯示,如按鍵“C”可以查看CPU相關信息;按鍵“D”可以查看磁盤信息;按鍵“T”可以查看系統的進程信息;“M”對應內存、“N”對應網絡等等,完整的快捷鍵對應內容可以通過幫助(按鍵“H”)查看,可以顯示Linux系統CPU、內存、進程信息,包括了CPU的用戶、系統、等待和空閑狀態值,可用內存、緩存大小以及進程的CPU消耗等詳細指標。該種方式顯示信息實時性強,能夠及時掌握系統承受壓力下的運行情況,每顆CPU利用率是多少、內存使用多少、網絡流量多少、磁盤讀寫……這些數據實時刷新,一目了然。但是如果我們希望將一段時間的資源情況記錄下來,以備后續的分析工作,則需要以另一種方式使用nmon。
2、后臺監控:為了配合性能測試,我們往往需要將一個時間段內系統資源消耗情況記錄下來,這時可以使用命令:./nmon -f -s 10 -c 360。說明:
? -f :按標準格式輸出文件名稱:<hostname>_YYYYMMDD_HHMM.nmon
? -s :每隔n秒抽樣一次,這里為10秒
? -c :取出多少個抽樣數量,這里為360,即監控=10*360/3600=1小時
該命令啟動后,會在nmon所在目錄下生成監控文件,并持續寫入資源數據,直至360個監控點收集完成——即監控1小時,這些操作均自動完成,無需手工干預,測試人員可以繼續完成其他操作。如果想停止該監控,需要通過“#ps –ef|grep nmon”查詢進程號,然后殺掉該進程以停止監控。
3、定期監控:除配合性能測試的短期監控,我們也可以實現對系統的定期監控,作為運營維護階段的參考。定期監控可通過“#crontab -e”命令實現,在最后一行添加“0 8 * * 1,2,3,4,5 /nmon -f-s 30 -c 1200”,表示:周一到周五,從早上08點開始,監控10個小時(到18:00整為止)。
?
下載/安裝
- Ubuntu:
sudo apt-get install -y nmon
- CentOS:
sudo yum install -y nmon
,前提是你已經有安裝 epel 源- 或者使用 RPM 包:http://pan.baidu.com/s/1hsFEoeg
- 安裝命令:
rpm -ivh nmon-14i-8.el6.x86_64.rpm
- 安裝命令:
- 或者使用 RPM 包:http://pan.baidu.com/s/1hsFEoeg
- 分析工具 nmon analyser:http://pan.baidu.com/s/1pKBLXrX
運行
- 實時監控:
nmon
- 后臺監控:
cd /opt ; nmon -f -s 10 -c 360
- 前面的 cd /opt 表示,進入 opt 目錄,nmon 生成的文件是在當前目錄下。
- -f :按標準格式輸出文件名稱:_YYYYMMDD_HHMM.nmon
- -s :每隔n秒抽樣一次,這里為10秒
- -c :取出多少個抽樣數量,這里為360,即監控=10*360/3600=1小時
- 該命令啟動后,nmon 會在當前目錄下生成監控文件,并持續寫入資源數據,直至360個監控點收集完成——即監控1小時,這些操作均自動完成,無需手工干預,測試人員可以繼續完成其他操作。如果想停止該監控,需要通過?
ps -ef | grep nmon
?查詢進程號,然后殺掉該進程以停止監控。
- 定期監控:本質是 crontab 加上后臺監控命令
解析監控文件
- 把 nmon 文件轉換成 csv 文件:
sort localhost_120427_0922.nmon > localhost_120427_0922.csv
- 把 csv 轉換成 Excel 圖表文件:
- 打開 nmon analyser 分析工具:nmon analyser v50_2.xlsm
- 點擊 Analyse nmon data 會彈出一個彈出框,選擇剛剛轉換的 csv 文件,然后就會自動再轉化成 excel 文件
- 打開 nmon analyser 分析工具:nmon analyser v50_2.xlsm
- 導出的綜合報表的參數說明:http://www.51testing.com/html/25/15146625-3714909.html
?