大家都知道在做性能測試的時候,需要監控服務器的資源情況,而大多數服務器是Linux系統,網上資料嘿多,這里匯總介紹下Nmon監控工具:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一,Nmon介紹
(這句不用看——Nmon得名於 Nigel 的監控器,是IBM的員工 Nigel Griffiths 為 AIX 和 Linux 系統開發的,使用 Nmon 可以很輕松的監控系統的 CPU、內存、網絡、硬盤、文件系統、NFS、高耗進程、資源和 IBM Power 系統的微分區的信息)。
Nmon是一款計算機性能系統監控工具,因為它免費,體積小,安裝簡單,耗費資源低,廣泛應用於AIX和Linux系統。
二,Nmon下載
首先查看Linux系統內核版本(兩種方式):
1,cat /proc/version
[qgc@localhost nmon16d]$ cat /proc/version Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013
2,uname -a
[qgc@localhost nmon16d]$ uname -a Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
對照上圖,我是VMware虛擬機安裝的64位centos6.5。
接着下載nmon軟件包:
1,wget方式下載,地址: https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
[qgc@localhost nmon16d]$ wget https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
--2018-08-27 11:26:11-- https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz Resolving nchc.dl.sourceforge.net... 211.79.60.17, 2001:e10:ffff:1f02::17 Connecting to nchc.dl.sourceforge.net|211.79.60.17|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 9252938 (8.8M) [application/x-gzip] Saving to: “nmon16d_x86.tar.gz” 100%[===========================================================>] 9,252,938 1.77M/s in 5.0s 2018-08-27 11:26:17 (1.77 MB/s) - “nmon16d_x86.tar.gz” saved [9252938/9252938] [qgc@localhost nmon16d]$ ls nmon16d_x86.tar.gz
2,官網手動下載,地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downlo ,翻譯了下,如下圖
因為CentOS就是 RedHat 的免費版本(上面內核版本 2.6.32-431.el6.x86_64),所以對應系統是RHEL 6.5,選擇右邊包含RedHat 6.5的下載。
三,解壓安裝
下載完成后,可以新建一個目錄,作為解壓后存放的目錄,這里為nmon16d,如果是手工下載的,需要拷貝到虛擬機。
[qgc@localhost Desktop]$ mkdir nmon16d
輸入解壓命令:tar -zxvf nmon16d_x86.tar.gz -C nmon16d ,-C 是指定解壓目錄
[qgc@localhost Desktop]$ tar -zxvf nmon16d_x86.tar.gz -C nmon16d nmon_power_32_linux nmon_power_32_rhel6 nmon_power_32_sles11 nmon_power_64_kvm2 nmon_power_64_linux ...
在nmon6d目錄中,可以找到nmon_x86_64_centos6這個文件,並對它添加執行權限
[qgc@localhost nmon16d]$ chmod +x nmon_x86_64_centos6
再把該程序文件加入環境變量運行目錄,如果不是管理員,需要加上sudo命令
[qgc@localhost nmon16d]$ mv nmon_x86_64_centos6 /usr/local/bin/nmon mv: cannot move `nmon_x86_64_centos6' to `/usr/local/bin/nmon': Permission denied [qgc@localhost nmon16d]$ sudo mv nmon_x86_64_centos6 /usr/local/bin/nmon [sudo] password for qgc: [qgc@localhost nmon16d]$
四,運行Nmon
輸入nmon命令啟動Nmon,如下圖
在上面的交互式窗口中,可以使用nmon 快捷鍵來顯示不同的系統資源統計數據:
q
: 停止並退出 Nmonh
: 查看幫助c
: 查看 CPU 統計數據m
: 查看內存統計數據d
: 查看硬盤統計數據k
: 查看內核統計數據n
: 查看網絡統計數據N
: 查看 NFS 統計數據j
: 查看文件系統統計數據t
: 查看高耗進程V
: 查看虛擬內存統計數據v
: 詳細模式
按下c,m,d后如下圖,CPU、內存、磁盤的消耗情況都直觀的展現出來了,按q鍵可以退出。
五,數據采集
性能測試時,需要根據測試場景的執行情況,分析一段時間內系統資源的變化,這時需要nmon采集數據並保存下來,以下是常用的參數:
-f 參數:生成文件,文件名=主機名+當前時間.nmon
-T 參數:顯示資源占有率較高的進程
-s 參數:-s 10表示每隔10秒采集一次數據
-c 參數:-s 10表示總共采集十次數據
-m 參數:指定文件保存目錄
具體的參數學習可參考博客:https://www.cnblogs.com/iclk/p/4456311.html
如每隔5秒采集一次,一共采集12次,就是1分鍾的數據(生成的文件已標紅):
[qgc@localhost nmon16d]$ nmon -f -s 5 -c 12 -m /home/qgc/Desktop/ [qgc@localhost nmon16d]$ nmon -f -T -s 5 -c 12 -m /home/qgc/Desktop/ [qgc@localhost Desktop]$ ls lmon16g.c localhost_180827_2318.nmon nmon16d_x86.tar.gz localhost_180827_2317.nmon nmon16d Test
數據采集完畢后,如需關閉nmon進程,需要獲取nmon的pid(已標紅)
[qgc@localhost Desktop]$ ps -ef | grep nmon qgc 4455(pid) 4349(ppid) 0 23:40 pts/0 00:00:00 nmon qgc 4491 4429 0 23:40 pts/1 00:00:00 grep nmon
再安全殺掉該進程:kill -9 pid
[qgc@localhost Desktop]$ kill -9 4455 [qgc@localhost Desktop]$ ps -ef | grep nmon qgc 4493 4429 0 23:40 pts/1 00:00:00 grep nmon
六,數據分析
1,下載nmon analyser
借助nmon analyser可以把nmon采集的數據生成直觀的Excel表,nmon analyser可以在IBM的官網下載,https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser
在windows上下載后解壓,有word和exce兩個文檔,Word是說明文檔,包括更新日志,詳細參數等,其中的Excel就是nmon analyser工具了。
2,打開nmon analyser
雙擊打開nmon analyser v54.xlsm,點擊Analyze nmon data按鈕:
注:因為我用的個人免費版WPS(10.1),沒有包含宏,需要安裝宏插件(VBA for WPS),Excel是自帶宏插件的,如果宏不能運行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打開文件並允許運行宏。
3,下載VBA for WPS
地址:https://pan.baidu.com/s/1QzW4ebQxYQtxgVfkTmxVJw,下載VBA7.0.1590_For WPS(中文).exe后,先退出WPS,再直接安裝就行,再次打開nmon analyser,啟用宏
4,使用nmon analyser生成圖表
成功打開nmon analyser后,點擊Analyze nmon data按鈕,選擇nmon數據文件,會再次提示另存為,選擇地址保存即可。
下圖就是nmon生成的數據報告截圖,底部可以切換其他資源信息。