1. 程式人生 > >伺服器效能測試工具 ---- nmon

伺服器效能測試工具 ---- 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。電腦的計算機名不能有特殊字元。

-----------------------------------------------------------------

-----------------------------------------------------------------

本文引用了其他文章。