1. 程式人生 > >Linux系統性能監控工具nmon

Linux系統性能監控工具nmon

org 部分 nbsp 監控工具 put linux服務 傳輸 sum 新的

一、簡介

nmon 工具可以幫助在一個屏幕上顯示所有重要的性能優化信息,並動態地對其進行更新。這個高效的工具可以工作於任何啞屏幕、telnet 會話、甚至撥號線路。另外,它並不會消耗大量的 CPU 周期,通常低於百分之二。在更新的計算機上,其 CPU 使用率將低於百分之一。使用啞屏幕,在屏幕上對數據進行顯示,並且每隔兩秒鐘對其進行更新。然而,您可以很容易地將這個時間間隔更改為更長或更短的時間段。如果您拉伸窗口,並在X Windows、VNC、PuTTY 或類似的窗口中顯示這些數據,nmon 工具可以同時輸出大量的信息。 nmon 工具還可以將相同的數據捕獲到一個文本文件,便於以後對報告進行分析和繪制圖形,輸出文件采用電子表格的格式。

二、下載

下載地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
下載的文件名為:nmon16d_x86.tar.gz(下載時間不同,版本號可能不同)
將該文件下載到本地,解壓,解壓後文件夾中的一部分內容如下圖所示:技術分享圖片

三、使用
根據自己的linux系統版本在解壓後的文件夾裏選擇合適的文件,一般用nmon_linux_x86_64即可。然後使用ftp上傳到linux服務器的/usr/local/bin目錄並增加可執行權限。
修改權限:chmod 755 nmon_linux_x86_64
在任何目錄下輸入nmon_linux_x86_64都可以顯示cpu等信息了,

(註:如果覺得nmon_linux_x86_64這個命令太長,可以在/usr/local/bin目錄下將該文件換名mv nmon_linux_x86_64 nmon)
此時在任何目錄下輸入nmon,如下面截圖所示:技術分享圖片

四、生成nmon報告

#nmon -s10 -c30 -f -m /home/chen

參數解釋:
-s10 每 10 秒采集一次數據;
-c30 采集 30 次,采集總時長:30*10=300秒;
-f 生成的報告文件名中包含文件創建的時間;
-m 生成的報告文件的存放目錄;
生成的文件名如下: XXXXX_180816_1059.nmon ,"XXXXX" 是機器的主機名。

可以通過nmon -h查看有關nmon的更多使用方法。

五、用nmon_analyser工具進行查看報告

將生成的報告傳到本地,用nmon_analyser工具進行查看
1、將/home/chen目錄下的XXXXX_180816_1059.nmon文件ftp到本地文件夾
2、下載nmon_analyser工具
地址:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser
需要下載的文件名:nmon_analyser_v54.zip(註:下載時間不同,文件名可能會不同)
下載到本地解壓後,打開.xlsm文件,點擊‘Analyze nmon data’,此時可能會提示‘宏不可用’,點擊‘啟用宏’;
再次點擊‘Analyze nmon data’,選擇剛才ftp到本地的.nmon文件,顯示如下圖所示:

技術分享圖片

六、nmon結果文件分析
nmon文件解析出來之後生成的excel表格,有幾十個sheet;下面就這些sheet所列指標的含義進行分析。

常用指標分析
監控操作系統,最關註的幾個指標分別是CPU、內存、磁盤IO、網絡等。下面對幾張關鍵圖表進行分析。

a.CPU_ALL:所有CPU概述,顯示監控系統所有CPU的平均占用情況,包含User/Sys/Wait/Idle狀態
1、User%,用戶模式下執行的程序所使用的CPU百分比
2、Sys%,內核模式下執行的程序所使用的CPU百分比
3、Wait%,等待 IO 所花的時間百分比
4、Idel%,CPU的空閑時間百分比,此值和User%,Sys%,Wait%之和等於1
5、CPU%,CPU總體占用情況,這個值通常等於User%+Sys%+Wait%
6、CPUs,CPU核數,即操作系統是多少C的

b. DISK_SUM:總體disk讀、寫以及I/O操作
1、Disk Read KB/s ,每個磁盤執行采樣數據(磁盤設備的讀速率)
2、Disk Write KB/s ,每個磁盤執行采樣數據(磁盤設備的寫速率)
3、IO/sec,每秒鐘輸出到物理磁盤的傳輸次數

c. DISKBUSY:每個hdisk設備平均占用情況
單位為%(百分比)

d. MEM:內存使用情況描述,包括物理內存和虛擬內存
1、memtotal,物理內存總大小
2、swaptotal,虛擬內存(即交換空間)的總大小
3、memfree,剩余物理內存大小
4、swapfree,剩余虛擬內存大小
5、cached,已占用的文件系統緩存大小,由物理內存分配
6、buffers,文件系統緩沖區大小
7、swapcached,虛擬內存中已分配出來的內存大小
8、inactive,最近不常使用的內存大小

e. NET:系統中每個網絡適配器的數據傳輸速率(千字節/秒)
1、Total-Read,網絡適配器每秒接收的數據包總大小,單位是KB/sec
2、Total-Write (-ve),網絡適配器每秒發送的數據包總大小,單位是KB/sec
3、eth0-total,網絡適配器每秒接收和發送的數據包總大小,單位是KB/sec

f.Sheet名稱
1、SYS_SUMM:系統匯總,藍線為cpu占有率變化情況,粉線為磁盤IO的變化情況;
2、AAA:關於操作系統以及nmon本身的一些信息;
3、BBBP:vmtune, schedtune, emstat和lsattr命令的輸出信息;
4、CPUnn:顯示執行之間內CPU占用情況,其中包含user%、sys%、wait%和idle%;
5、CPU_SUMM:每一個CPU在執行時間內的占用情況,其中包含user%、sys%、wait%和idle%;
6、DISKBSIZE:執行時間內每個hdisk的傳輸塊大小;
7、DISKREAD:每個hdisk的平均讀情況;
8、DISKWRITE:每個hdisk的平均寫情況;
9、DISKXFER:每個hdisk的I/O每秒操作;
10、JFSFILE:本sheet顯示對於每一個文件系統中,在每個間隔區間正在被使用的空間百分比
11、NETPACKET:本sheet統計每個適配器網絡讀寫包的數量
12、PROC:本sheet包含nmon內核內部的統計信息。其中RunQueue和Swap-in域是使用的平均時間間隔,其他項的單位是比率/秒
13、ZZZZ:本sheet自動轉換所有nmon的時間戳為現在真實的時間,方便更容易的分析

Linux系統性能監控工具nmon