效能之nmon(硬體指標)

影清风發表於2024-11-26

nmon基本介紹:

nmon是幫助在一個螢幕上顯示所有重要的效能最佳化資訊,並動態地對其進行更新。

分析工具:

分析 AIX 和 Linux 效能的免費工具, 這個高效的工具可以工作於任何螢幕、telnet 會話、甚至撥號線路。另外,它並不會消耗大量的 CPU 週期,通常低於百分之二。在更新的計算機上,其CPU使用率將低於百分之一。 使用啞螢幕,在螢幕上對資料進行顯示,並且每隔兩秒鐘對其進行更新。然而,您可以很容易地將這個時間間隔更改為更長或更短的時間段。如果您拉伸視窗,並在X Windows、VNC、PuTTY 或類似的視窗中顯示這些資料,nmon 工具可以同時輸出大量的資訊。 nmon 工具還可以將相同的資料捕獲到一個文字檔案,便於以後對報告進行分析和繪製圖形。輸出檔案採用電子表格的格式 (.csv)。

效能介紹 nmon 工具可以為 AIX 和 Linux 效能專家提供監視和分析效能資料的功能,
其中包括:

CPU 使用率

記憶體使用情況

核心統計資訊和執行佇列資訊

磁碟 I/O 速度、傳輸和讀/寫比率 檔案系統中的可用空間

磁碟介面卡

網路 I/O 速度、

傳輸和讀/寫比率 頁面空間和頁面速度

CPU 和 AIX 規範

消耗資源最多的程序

IBM HTTP Web 快取

使用者自定義的磁碟組

計算機詳細資訊和資源

非同步 I/O,僅適用於 AIX

工作負載管理器 (WLM),僅適用於 AIX

IBM TotalStorage® Enterprise Storage Server® (ESS) 磁碟,

僅適用於 AIX

網路檔案系統 (NFS)

動態 LPAR (DLPAR) 更改,僅適用於面向 AIX 或 Linux 的 pSeries p5 和 OpenPower

===============================================================
一、nmon的安裝(所有的包)
1.1下載耗tar包

上傳到linux中

1.下載地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

2.下載對應系統的 nomn 工具(我用 centos6.5_64 位下載的是 nmon_linux_14i.tar.gz)

3.Linux 中使用 ROOT 賬戶進入後,建立目錄 Nmon(mkdir /n)

4.進入 Nmon 目錄中透過 rz 命令匯入 nmon_linux_14i.tar.gz 壓縮包到 Linux 下 Nmon 目錄中

5.解壓壓縮包 tar -zxvf nmon_linux_14i.tar.gz

6.修改檔案許可權 chmod 777 nmon_x86_sles11

7.將 nmon_x86_sles11 啟動檔案重新命名為 Nmon (mv nmon__sles11 Nmon),目的是方便執行啟動操作命令

8.啟動 Nmon (./Nmon)啟動後如下:

@--

=========================================================

nmon的使用

Nmon 操作

Nmon 啟動後可以顯示 Linux 系統 CPU、記憶體、程序資訊,包括了 CPU 的使用者、系統、等待和空閒狀態值,可用記憶體、快取大小以及程序的 CPU 消耗等詳細指標。該種方式顯示資訊實時性強,能夠及時掌握系統承受壓力下的執行情況,每顆 CPU 利用率是多少、記憶體使用多少、網路流量多少、磁碟讀寫……這些資料均是實時重新整理,一目瞭然。

q : 停止並退出 Nmon
h : 檢視幫助
c : 檢視 CPU 統計資料
m : 檢視記憶體統計資料
d : 檢視硬碟統計資料
k : 檢視核心統計資料
n : 檢視網路統計資料
N : 檢視 NFS 統計資料
j : 檢視檔案系統統計資料
t : 檢視高耗程序
V : 檢視虛擬記憶體統計資料
v : 詳細模式

============================================

h : 檢視幫助

c : 檢視 CPU 統計資料

m : 檢視記憶體統計資料

d : 檢視硬碟統計資料

k : 檢視核心統計資料

n : 檢視網路統計資料

N : 檢視 NFS 統計資料
NFS

j : 檢視檔案系統統計資料

t : 檢視高耗程序

V : 檢視虛擬記憶體統計資料

===================================

採集資料  #./nmon -s10 -c60 -f -m /home/

-s10 每 10 秒採集一次資料

-c60 採集 60 次,即為採集十分鐘的資料

-f 生成的資料檔名中包含檔案建立的時間

-m 生成的資料檔案的存放目錄

這樣就會生成一個 nmon 檔案,並每十秒更新一次,直到十分鐘後

nmon 執行本身是會消耗系統資源,如需關閉 nmon,直接 kill 掉

ps -ef | grep nmon
kill -9 pid

執行後,生成的報表

(二)
匯出報告

生成報表:

(1)下載 nmonanalyser (生成效能報告的免費工具)

開啟壓縮包;

(2)將之前生成的 nmon 結果資料檔案透過 sz 命令傳到 Windows 桌面

用 Excel 開啟分析工具 nmon analyser.xlsm

解壓後運用如下

我們安裝wps開啟

wps2019vba.exe是wps2019版本的宏程式破解工具

點選 Excel 檔案中的 “Analyze nmon data” 按鈕,選擇 nmon 資料檔案,這樣就會生成一個分析後的結果檔案: hostname_090824_1306.nmon.xls

用 Excel 開啟生成的檔案就可以看到結果了

wps宏都被禁止

如果宏不能執行,需要做以下操作:

開發工具 -> 宏 -> 安全性 -> 中,然後再開啟檔案並允許執行宏

如果宏被禁用,需要安裝破解外掛 

匯入資料

生成圖示資料

============================================================

分析效能測試

AAA檔案

一:CPU資訊

SYS_SUMM圖表:

1.折線圖中藍線為cpu佔有率變化情況;粉線為磁碟IO的變化情況;

2.下面表各種左邊的位磁碟的總體資料,包括如下幾個:

Avg tps during an interval:每個間隔時間內,平均每秒IO數,也可以理解為提交處理的次數

Max tps during an interval:每個間隔時間內,每秒最大IO次數;

Max tps interval time:最大傳送次數出現的時間點;

Total number of Mbytes read:整個監控時間內讀的位元組數;

Total number of Mbytes written:整個監控時間內寫的位元組數;

Read/Write Ratio:讀寫比率;

3.右邊的為CPU的總體資料,可以獲取如下資訊;

cpu被User/Sys/Wait所佔百分比;

cpu整體平均空閒率/佔有率,以及最大的空閒率/佔有率;

cpu各項資料最大值和平均值的比率;

CPU_ALL頁面:該頁面可以看到如下圖的CPU整體上在每個監控點的資料,包括User%、Sys%、Wait%、Idle%、CPU%以及CPUs(cpu個數)及對應圖表

關鍵指標名稱及含義:

User%

顯示在使用者模式下執行的程式所使用的 CPU 百分比;

Sys%

顯示在核心模式下執行的程式所使用的 CPU 百分比;

Wait%

顯示等待 IO 所花的時間百分比;

Idle%

顯示 CPU 的空閒時間百分比;

CPU%

CPU總體佔用情況;

Cpu使用率分為三部分,系統、使用者、等待、閒置等,分別對應圖中,cpu使用率100%的情況,如果橙色佔大部分,說明系統程序本身佔據大部分cpu資源,可考慮系統是否存在過多殭屍程序或者系統程序存在死迴圈等原因;如果藍色佔大部分,說明使用者程序佔用大量cpu資源,可考慮被壓系統是否

壓力過大,或者被壓系統存在大量運算等消耗cpu資源的操作。

CPU_SUMM頁面:該頁面可以看到如下圖的各個CPU在總體資料,User%、Sys%、Wait%、Idle%(閒置)以及對應圖表

二:磁碟資訊

DISK_SUMM圖表:記錄各個監控時間點的磁碟讀寫和IO次數

關鍵指標名稱及含義:

Disk total kb/s Hostname

執行間隔時間列表;

Disk Read kb/s

每個磁碟執行取樣資料;(磁碟裝置的讀速率)

Disk Write kb/s

每個磁碟執行取樣資料;(磁碟裝置的寫速率)

IO/sec

每秒鐘輸出到物理磁碟的傳輸次數;

DISKBSIZE頁面:詳細記錄了各監控時間點每個hdisk的磁碟塊的大小,如我的伺服器包括了sda、sda1、sda2、sda3

三:記憶體資訊

MEM圖表:該頁面包含了如下圖各監控時間點記憶體各方面的資訊資料和圖表

memtoatl:伺服器總記憶體,單位M;

swaptotal:虛擬總記憶體;

memfree:剩餘總記憶體;

swapfree:剩餘虛擬記憶體;

四:網路資訊

Net頁面:該頁面包含了每個監控時間點各個網路介面卡的讀寫等資料傳輸速率(千位元組/秒),如我的伺服器包括介面卡有eth0和lo

Total read 每秒接收到的千位元組的數目,如圖藍色部分

Total write 每秒傳送的千位元組的數目,如圖紅色部分

網路=Total read-Total write

網路的指標一般要根據裝置來確定,百兆網路卡的意思是每秒能夠傳輸的網路流量是100Mbps,即最大的下載速度是12.5MB/s,一般伺服器是千兆網路卡,即125MB/s

破解版網址

https://www.dashengpan.com/

========================================================

監控效能硬體指標:(伺服器指標)

1、top 命令 檢視伺服器動態程序(cpu、記憶體、磁碟)

2、free

free命令可以檢視系統記憶體的使用情況,-m參數列示按照兆位元組展示。最後兩列分別表示用於IO快取的記憶體數,和用於檔案系統頁快取的記憶體數

3、df

4、vmstat命令

每行會輸出一些系統核心指標,這些指標可以讓我們更詳細的瞭解系統狀態。後面跟的引數1,表示每秒輸出一次統計資訊,表頭提示了每一列的含義

5、uptime命令

可以快速檢視機器的負載情況。在Linux系統中,這些資料表示等待CPU資源的程序和阻塞在不可中斷IO程序(程序狀態為D)的數量

6、mpstat命令

該命令可以顯示每個CPU的佔用情況,如果有一個CPU佔用率特別高,那麼有可能是一個單執行緒應用程式引起的。

7、iostat命令

r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫次數和每秒讀寫資料量(千位元組)。讀寫量過大,可能會引起效能問題。

8、sar命令

sar命令在這裡可以檢視網路裝置的吞吐率。在排查效能問題時,可以透過網路裝置的吞吐量,判斷網路裝置是否已經飽和。

9、cat /proc/cpuinfo 檢視cpu

相關文章