前言
- 做性能測試,服務器監控是至關重要的,前面也講了通過 ServerAgent 去監控服務器
- 這一篇博文將詳細講解 nmon 監控工具
nmon 官方介紹
- nmon是一種在 AIX 與各種 Linux 操作系統上廣泛使用的監控與分析工具
- 它能在系統運行過程中實時地捕捉系統資源的使用情況,記錄的信息比較全面
- 它可將服務器系統資源耗用情況收集起來並輸****出一個特定的文件,並可利用 excel 分析工具(nmon analyser)進行數據的統計分析
nmon 可監控的數據類型
- CPU使用率
- 內存使用情況
- 磁盤適配器
- 文件系統中的可用空間
- 頁面空間和頁面速度
- 異步I/O,僅適用於AIX
- 網絡文件系統(NFS)
- 磁盤 I/O 速度、傳輸和讀/寫比率
- 服務器詳細信息和資源
- 內核統計信息
- 消耗資源最多的進程
- 運行隊列信息
nmon 特點
- nmon 運行不會占用過多的系統資源,通常情況下CPU利用率不會超過 2%
- 功能強大,監控數據類型全面
- 結合grafana之類的儀表圖,可以更直觀的實時展示所監控的數據
- 移植性、兼容性較好
- 無人值守監控
- 可以實時查看監控結果,也可以測試結束后本地查看監控結果
nmon 在做性能測試時的劣勢
不能像 ServerAgent 一樣集成到 Jmeter 中查看監控結果
Linux 下安裝並運行 nmon
檢查安裝環境
# 查看操作系統的信息 uname -a
# 查看linux發行版本 lsb_release -a
# 返回-bash: username: command not found,安裝 yum -y install redhat_lsb
[]
下載 nmon
方式一
官方地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
通過 FTP 上傳到服務器目錄下/nmon mkdir /nmon 創建nmon目錄
方式二
服務器直接敲命令行
wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz
這種方式無法下最新版的
百度雲下載鏈接
包含了 nmon 安裝包和分析數據工具包
鏈接:https://pan.baidu.com/s/1_OVExaWzZzmgpgiiTLkVkQ
提取碼:vqkq
解壓
tar -zxvf nmon16m_helpsystems.tar.gz
查看解壓后的文件
[]
運行 nmon
我的系統是 x86_64 centos7,敲
./nmon_x86_64_centos7
常用 nmon 快捷命令
- q : 停止並退出 nmon
- h : 查看幫助
- c : 查看 CPU 統計數據
- m : 查看內存統計數據
- d : 查看硬盤統計數據
- k : 查看內核統計數據
- n : 查看網絡統計數據
- N : 查看 NFS 統計數據
- j : 查看文件系統統計數據
- t : 查看高耗進程
- V : 查看虛擬內存統計數據
- v : 詳細模式
按多個快捷命令可以同時顯示多項監控結果哦
nmon 命令行參數
參數 | 作用 |
---|---|
-f | 監控結果以文件形式輸出,默認:機器名_日期_時間.nmon |
-F | 和 -f 一樣作用,不過要指定輸出文件名 |
-s | 采樣頻率,單位秒 |
-c | 采樣次數 |
-m | nmon 文件保存的目錄 |
-T | 顯示資源占用率高的進程 |
命令行
# 數據采集
nmon -f -t -s 10 -c 6 -m /data/nmon
# 無nmon指令需要操作如下
[root@localhost source]#cp nmon_x86_64_centos7 /usr/bin
[root@localhost source]#cd /usr/bin
[root@localhost source]# chmod 777 nmon_x86_64_centos7
[root@localhost source]# ./nmon_x86_64_centos7(切換到nmon_x86_rhel45文件所在的目錄)
[root@localhost source]# env
[root@localhost source]# mv nmon_x86_64_centos6 nmon
[root@localhost source]# nmon(此時nmon就是全局命令)
每 10s 采集一次系統資源數據,共采集 6 次(1 min 內收集 6 次),將最終 nmon 文件生成在 /data/nmon 目錄下
將這個 .nmon 文件傳輸到本地,用於后續的結果分析
重點
- 一般來說不建議對穩定性測試(壓力測試)使用 nmon 監控,因為生成的 nmon 文件超過10M時,分析工具會由於內存不足導致報錯
- 如果必須進行的話,建議加大采樣頻次,降低采樣次數(低於330次)
查看 nmon 監控結果
nmon_analyser 介紹
- nmon 監控捕獲的信息,一般用 nmon_analyser 來進行分析
- nmon_analyser 由 IBM 提供, 使用 excel 的宏命令分析加載生成 excel 圖表,展示資源占用的各項信息
下載nmon_analyser
官方:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
鏈接:https://pan.baidu.com/s/1_OVExaWzZzmgpgiiTLkVkQ
提取碼:vqkq
解壓后發現有兩個文件
- pdf:說明文檔
- xlsm:宏文件,分析工具
打開 nmon analyser v66.xlsm
記住一定要通過 office 或者 wps 用 excel 的方式打開哦,且需要啟動了宏
解決宏啟動失敗的情況
你打開Excel,按Alt+F11鍵,看看能不能打開VBE窗口。
1、打都打不開,報錯,這有可能是office安裝的時候缺少了什么文件,或你安裝的office是精簡版的,本身就用不了宏。需要重新安裝完整版,或者換一個版本。
2、能打開VBE窗口,這有可能是安全級別的問題,一般是在“選項”“信任中心”里,有宏設置,將安全級別調低就可以用了。
3、你只說無法運行,也有可能你編寫或錄制的宏代碼有問題。
4、一切正常就是用不了,這個嘛……不用找了,果斷重新安裝office吧。
打開 .nmon 文件
點擊 Analyze nmon data,選擇 nmon 文件
查看監控結果數據
nmon 監控結果圖表分析
分析結果文件為一個excel表格,里面分為 SYS_SUMM、CPU_ALL、MEM、DISK_SUMM 等多個標簽頁,每個標簽頁都有該主題下監控的明細數據和對應的統計圖表
每個標簽頁都展示了對某一指標如CPU、內存、網絡、I/O的詳細監控數據
重點
- 如果一個CPU被充分使用,CPU占用時間配比應為User%(65-70%),Sys%(30-35%),Idel%(0-5%)
- 如果 Sys% 占比過大說明系統進程本身占領大部分 cpu 資源,可考慮系統是否存在過多僵屍進程或者系統進程存在死循環等原因
- CPU Wait% 占比過大說明可能 IO 或內存方面存在瓶頸,可能是由於內存不夠而引起頻繁的的數據交換