伺服器效能測試工具 ---- nmon
一、下載nmon
根據CPU的型別選擇下載相應的版本:
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip
方法1:
1 2 3 4 |
[[email protected] ~]# cd /opt
[[email protected] opt]# mkdir nmon
[[email protected] opt]# cd nmon
[[email protected] nmon]#wget <a href= "http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip/download" >http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip</a>
|
方法2:
點選第一個連結,下載列表中的nmon_linux_14i_newer_Linux_versions.tar.gz,解壓后里邊有很多版本的nmon,我用的是nmon_linux_x86_64,親測可用。根據linux系統版本,使用其他版本可能會提示glibc版本太低,需要安裝更高版本的glibc,遇到這種問題請參考http://blog.csdn.net/cpplang/article/details/8462768
直接在window中將解壓好的nmon_linux_x86_64通過sftp上傳到要監控的linux系統中對應目錄下
二、初始化工具
[[email protected] nmon]# unzip nmon_x86_12a.zip Archive: nmon_x86_12a.zip inflating: nmon_x86_rhel45 inflating: nmon_x86_rhel52 inflating: nmon_x86_sles9 inflating: nmon_x86_sles10 inflating: nmon_x86_ubuntu810 inflating: nmon_x86_fedora10 inflating: nmon_x86_opensuse10 [[email protected] nmon]# ls nmon1 nmon_x86_fedora10 nmon_x86_rhel45 nmon_x86_sles10 nmon_x86_ubuntu810 nmon_x86_12a.zip nmon_x86_opensuse10 nmon_x86_rhel52 nmon_x86_sles9 [[email protected] nmon]# mv nmon_x86_ubuntu810 nmon #重新命名nmon [[email protected] nmon]# chmod +x nmon #授權命令
[[email protected] nmon]#ls
nmon nmon1 nmon_x86_12a.zip nmon_x86_fedora10 nmon_x86_opensuse10 nmon_x86_rhel45 nmon_x86_rhel52 nmon_x86_sles10 nmon_x86_sles9
然後直接執行 nmon 即可,直接執行nmon可以實時監控系統資源的使用情況,執行下面的步驟可以展現一段時間系統資源消耗的報告。
下面是直接執行nmon命令實時監控系統資源消耗情況的截圖:
[[email protected] nmon]#./nmon
CPU、記憶體、磁碟和網路的消耗情況都被很直觀的展現出來。
按鍵“C”可以檢視CPU相 關資訊;
按鍵“D”可以檢視磁碟資訊;
按鍵“T”可以檢視系統的程序資訊;
“M”對應記憶體、“N”對應網路等等;
完整的快捷鍵對應內容可以通過幫助(按鍵 “H”)檢視。
可以顯示Linux系統CPU、記憶體、程序資訊,包括了CPU的使用者、系統、等待和空閒狀態值,可用記憶體、快取大小以及程序的CPU消耗等詳細指標。該種方式顯示資訊實時性強,能夠及時掌握系統承受壓力下的執行情況,每顆CPU利用率是多少、記憶體使用多少、網路流量多少、磁碟讀寫……這些資料均是實時重新整理,一目瞭然。
三、生成nmon報告
1).採集資料:
# ./nmon -s10 -c60 -f -m /home/
引數解釋:
-s10 每 10 秒採集一次資料。
-c60 採集 60 次,即為採集十分鐘的資料。
-f 生成的資料檔名中包含檔案建立的時間。
-m 生成的資料檔案的存放目錄。
這樣就會生成一個 nmon 檔案,並每十秒更新一次,直到十分鐘後。
生成的檔名如: lampard_190103_1506.nmon ,"lampard" 是這臺主機的主機名。
nmon -h 檢視更多幫助資訊
---------------------------------------
---------------------------------------
!!!可能會遇到下面問題
解決方式:
先看看這個命令屬於哪個軟體包:
[[email protected] ~]# yum provides */lsb_release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.psychz.net
* epel: mirrors.solfo.com
* extras: mirror.san.fastserv.com
* updates: mirror.lax.hugeserver.com
base/filelists_db | 5.1 MB 00:00
epel/filelists_db | 7.8 MB 00:00
extras/filelists_db | 31 kB 00:00
updates/filelists_db | 614 kB 00:00
vz-base/filelists | 825 B 00:00
vz-updates/filelists | 3.0 kB 00:00
redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS
Repo : base
Matched from:
Filename : /usr/bin/lsb_release
dkms-2.2.0.3-28.git.7c3e7c5.el6.noarch : Dynamic Kernel Module Support Framework
Repo : epel
Matched from:
Filename : /usr/lib/dkms/lsb_release
dkms-2.2.0.3-26.el6.noarch : Dynamic Kernel Module Support Framework
Repo : installed
Matched from:
Filename : /usr/lib/dkms/lsb_release
redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS
Repo : installed
Matched from:
Filename : /usr/bin/lsb_release
可以看出,屬於redhat-lsb這個包,那麼接著使用yum安裝這個包:
[[email protected] ~]# yum install -y redhat-lsb
[[email protected] ~]# lsb_release -r
2).生成報表:
下載 nmon analyser (生成效能報告的免費工具):
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser
將之前生成的 nmon 資料檔案傳到 Windows 機器上,用 Excel 開啟分析工具 nmon analyser v33C.xls 。點選 Excel 檔案中的 "Analyze nmon data" 按鈕,選擇 nmon 資料檔案,這樣就會生成一個分析後的結果檔案: hostname_090824_1306.nmon.xls ,用 Excel 開啟生成的檔案就可以看到結果了。
!! 如果巨集不能執行,需要做以下操作:
工具 -> 巨集 -> 安全性 -> 中,然後再開啟檔案並允許執行巨集。
下面是在測試環境中生成的nmon報告截圖:
紅色區域為不同指標的分析報告。
3).定時任務
除配合效能測試的短期監控,也可以實現對系統的定期監控,作為運營維護階段的參考。定期監控實現如下:
1) 執行命令:# crontab –e #定時任務命令
2) 在最後一行新增如下命令:
0 8 * * 1,2,3,4,5 /nmon/nmon_x86_rhel5 -f -N -m /nmon/log -s 30 -c 1200
表示:
週一到週五,從早上08點開始,監控10個小時(到18:00整為止),輸出到/nmon/log
自動按天採集資料:
在 crontab 中增加一條記錄:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
300*288=86400 秒,正好是一天的資料。
四、停止監控
nmon執行本身是會消耗系統資源,如需關閉nmon,直接kill掉
# ps -ef | grep nmon (得到pid)
# kill -9 pid (安全kill)
-----------------------------------------------------------------
-----------------------------------------------------------------
!!!實際應用時遇到“nmon analyser 執行時錯誤 13 型別不匹配”
解決辦法: 將本機系統時間格式設定為:yyyy-MM-dd。電腦的計算機名不能有特殊字元。
-----------------------------------------------------------------
-----------------------------------------------------------------
本文引用了其他文章。