❶ linux怎麼使用nmon監控性能,分析系統性能數據
用Nmon監控Linux系統性能的方法請參見下面介紹(配圖):
1、安裝Nmon
2、一旦安裝完成,則可以通過在終端執行 nmon 命令啟動它。
Nmon命令執行之後,大家可以看到如下輸出:
3、從上圖中大家可以看到,Nmon 命令行工具是一個用戶交互的應用程序,大家可以非常方便地使用鍵盤快捷鍵來查看相關統計信息。
q : 停止並退出Nmon
h : 查看幫助信息
c : 查看 CPU 統計信息
m : 查看內存統計信息
d : 查看磁碟統計信息
k : 查看內核統計信息
n : 查看網路統計信息
N : 查看 NFS 統計信息
j : 查看文件系統統計信息
t : 查看 Top 進程統計信息
V : 查看虛擬內存統計信息
v : 詳細輸出模式
4、查看 CPU 統計信息
如果你想查看 CPU 性能信息,可以直接按 c 鍵:
5、查看 Top 進程統計信息
如果你想查看 Top 進程統計信息,可以直接按 t 鍵:
6、查看網路統計信息
如果你想查看網路統計信息,可以直接按 n 鍵:
7、磁碟I/O圖
使用 d 鍵可以查看磁碟統計信息:
8、查看內核統計信息
如果你想查看內核統計信息,可以直接按 k 鍵:
9、獲取系統信息
如果要查看 Linux 的系統信息,如:系統架構、操作系統版本、Linux 版本則可以使用 r 鍵,這對系統管理員非常有用。
以上是基礎使用方法。下面再補充一些命令和方法:
1、啟動
打開nmon所在的目錄:cd /usr/local/nmon
修改啟動文件的訪問許可權:chmod 755 nmon_x86_rhel52
啟動nmon:./nmon_x86_rhel52
如果要采樣nmon的數據保存成文件,可以
./nmon_x86_rhel52 -fT -s 30 -c 120
其中30表示每隔30秒nmon取一次系統性能數據,120表示取120次;
這樣nmon將會在運行開始算起連續取得30sX120=60分鍾,可根據實際需要時間調整;當運行以上命令後該目錄下會生成一個.nmon文件,該文件會根據間隔時間被寫入性能數據,當一段時間後再查看該文件,文件位元組變大
利用nmonanalyser分析.nmon文件
當測試結束的同時ftp到伺服器上將.nmon文件get下來,
打開nmon_analyser.zip 包下的nmon analyser v338.xls 文件,點擊Analyse nomn data按鈕,選擇之前get來下的.nmon文件。
(如果報告以下宏的安全級別太高錯誤,則在「工具 -- 宏 --安全性」里把級別調低,然後重新打開 nmon analyser v338.xls 文件)
待分析結束後會生成性能分析結果文件(文件格式為.xls,其中包括CPU,IO,內存等性能分析報告)。
分析結果中有很多數據和圖形,簡要介紹主要的性能參數圖像
4.1 系統匯總(對應excel標簽的『SYS_SUMM』)
藍線為cpu佔有率變化情況;
粉線為磁碟IO的變化情況;
4.2磁碟讀寫情況匯總(對應excel標簽的『DISK_SUMM』)
藍色為磁碟讀的速率KB/sec
紫色為磁碟寫的速率KB/sec
4.3內存情況匯總(對應excel標簽的『MEM』)
曲線表示內存剩餘量(MB)
分析數據得到的報告文件(.xls)中包含很多性能分析結果數據,根據自己的需要查看。
2、nmon運行本身就消耗系統資源的;
另外如果取到.nmon文件後確定不再需要nmon繼續收集信息則應kill掉nmon;
命令:
ps -A | grep nmon #得到pid
kill -9 pid
suse10 enterprise sp2:
nmon_x86_rhel3
使用對應的操作系統文件:
chmod +x nmon_x86_ubuntu810
mv nmon_x86_ubuntu810 /usr/local/bin/nmon
對於 Debian 還要做以下操作(不做也同樣能運行):
apt-get install lsb-release
lsb_release -d | sed 's/Description:\t//' > /etc/debian_release
然後直接運行 nmon 即可。
採集數據並生成報表:
採集數據:
nmon -s10 -c60 -f -m /home/
參數解釋:
-s10 每 10 秒採集一次數據。
-c60 採集 60 次,即為採集十分鍾的數據。
-f 生成的數據文件名中包含文件創建的時間。
-m 生成的數據文件的存放目錄。
這樣就會生成一個 nmon 文件,並每十秒更新一次,直到十分鍾後。
生成的文件名如: hostname_090824_1306.nmon ,"hostname" 是這台主機的主機名。
生成報表:
下載 nmon analyser (生成性能報告的免費工具):
http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
把之前生成的 nmon 數據文件傳到 Windows 機器上,用 Excel 打開分析工具 nmon analyser v33C.xls 。點擊 Excel 文件中的 "Analyze nmon data" 按鈕,選擇 nmon 數據文件,這樣就會生成一個分析後的結果文件: hostname_090824_1306.nmon.xls ,用 Excel 打開生成的文件就可以看到結果了。
如果宏不能運行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然後再打開文件並允許運行宏。
自動按天採集數據:
在 crontab 中增加一條記錄:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
300*288=86400 秒,正好是一天的數據。
采樣文件越來越大:
[email protected].***:~/nmon# ./nmon -s1 -c33 -f
[email protected].***:~/nmon#
[email protected].***:~/nmon# -sh *
8.0K AD39_***_sles10_101207_1046.nmon
160K nmon
[email protected].***:~/nmon# -sh *
12K AD39_***_sles10_101207_1046.nmon
160K nmon
[email protected].***:~/nmon# -sh *
16K AD39_***_sles10_101207_1046.nmon
160K nmon
[email protected].***:~/nmon# -sh *
20K AD39_***_sles10_101207_1046.nmon
160K nmon
[email protected].***:~/nmon# -sh *
20K AD39_***_sles10_101207_1046.nmon
160K nmon
註:以上一些機器名稱或系統名稱,請根據實際情況自行調整及修改。
❷ 如何監測windows伺服器的性能
Windows伺服器中自帶的性能監控工具叫做Performance Monitor,
在開始-運行中輸入『perfmon』,然後回車即可運行。Performance
Monitor本身也是一個進程,運行起來也要佔用一定的系統資源。所以你看到的資源的使用量應該比實際的要稍微高一點。這個工具在幫助管理員判斷系統性能瓶頸時非常有用。舉個列子來說,今天有個用戶抱怨說他們項目組的伺服器(這是一台虛擬機)運行起來非常慢,但也不知道具體問題出在什麼地方。任務管理器里顯示CPU和內存的使用量都不算高,但伺服器的相應就是非常慢。打開Performance
Monitor,讓其運行一段時間後(因為參考平均值會比較准確),發現average disk
queue的值比較高,這就說明物理伺服器的硬碟負荷太重,I/O操作的速度跟不上系統的要求。關掉虛擬機,將其轉移到另一台硬碟負載比較小的主機上,再打開虛擬機。問題就解決了!
這里我簡單列舉幾個常用參數的參考值,需要更多的信息你可以google一把。
CPU:
% Processor Time:表示CPU的使用率,如果值大於80表示CPU的處理調度能力偏低。
硬碟:
% Disk Time:表示硬碟的I/O操作的頻率(繁忙時間),如果值大於80表示硬碟I/O調度能力偏低。
Average Disk Queue
Length:表示硬碟I/O操作等待隊列的長度,如果值大於2表示硬碟I/O調度能力偏低。
內存
Pages/Sec:表示系統對虛擬內存每秒鍾的訪問次數,如果值大於20表示有內存方面的問題。(有可能是物理內存偏低,也有可能是虛擬內存沒有配置正確。一般情況下虛擬內存應為物理內存的1.5-2倍)
Committed Bytes and Available Bytes:Committed
Bytes表示虛擬內存的大小,Available Bytes表示剩餘可用內存的大小。正常情況下,Available
Bytes減少,pages(頁面數)應該增加,提供頁面交換。如果Available
Bytes的值很小表示物理內存偏低。當關閉一些應用以後,Committed Bytes應該減少,Available
Bytes應該增加。因為關閉的進程釋放了之前佔用的內存資源。如果相應的值沒有發生變化,那麼該進程就可能造成了內存泄漏。
Cache Bytes:表示系統緩存的大小。如果值大於4M表示物理內存偏低。
❸ 怎樣分析linux的性能指標
一、處理器參數
這是一個很簡單的參數,它直觀的描述了每個CPU的利用率。在xSeries架構中,如果CPU的利用率長時間的超過80%,就可能是出現了處理器的瓶頸。
Runable processes
這個值描述了正在准備被執行的進程,在一個持續時間里這個值不應該超過物理CPU數量的10倍,否則CPU方面就可能存在瓶頸。
Blocked
描述了那些因為等待I/O操作結束而不能被執行的進程,Blocked可能指出你正面臨I/O瓶頸。
User time
描述了處理用戶進程的百分比,包括nice time。如果User time的值很高,說明系統性能用在處理實際的工作。
System time
描述了CPU花費在處理內核操作包括IRQ和軟體中斷上面的百分比。如果system time很高說明系統可能存在網路或者驅動堆棧方面的瓶頸。一個系統通常只花費很少的時間去處理內核的操作。
Idle time
描述了CPU空閑的百分比。
Nice time
描述了CPU花費在處理re-nicing進程的百分比。
Context switch
系統中線程之間進行交換的數量。
Waiting
CPU花費在等待I/O操作上的總時間,與blocked相似,一個系統不應該花費太多的時間在等待I/O操作上,否則你應該進一步檢測I/O子系統是否存在瓶頸。
Interrupts
Interrupts值包括硬Interrupts和軟Interrupts,硬Interrupts會對系統性能帶
來更多的不利影響。高的Interrupts值指出系統可能存在一個軟體的瓶頸,可能是內核或者驅動程序。注意Interrupts值中包括CPU時鍾導
致的中斷(現代的xServer系統每秒1000個Interrupts值)。
二、內存參數
Free memory
相比其他操作系統,Linux空閑內存的值不應該做為一個性能參考的重要指標,因為就像我們之前提到過的,Linux內核會分配大量沒有被使用的內存作為文件系統的緩存,所以這個值通常都比較小。
Swap usage
這個值描述了已經被使用的swap空間。Swap
usage只表示了Linux管理內存的有效性。對識別內存瓶頸來說,Swap In/Out才是一個比較又意義的依據,如果Swap
In/Out的值長期保持在每秒200到300個頁面通常就表示系統可能存在內存的瓶頸。
Buffer and cache
這個值描述了為文件系統和塊設備分配的緩存。注意在Red Hat Enterprise Linux
3和更早一些的版本中,大部分空閑內存會被分配作為緩存使用。在Red Hat Enterprise Linux
4以後的版本中,你可以通過修改/proc/sys/vm中的page_cache_tuning來調整空閑內存中作為緩存的數量。
Slabs
描述了內核使用的內存空間,注意內核的頁面是不能被交換到磁碟上的。
Active versus inactive memory
提供了關於系統內存的active內存信息,Inactive內存是被kswapd守護進程交換到磁碟上的空間。
三、網路參數
Packets received and sent
這個參數表示了一個指定網卡接收和發送的數據包的數量。
Bytes received and sent
這個參數表示了一個指定網卡接收和發送的數據包的位元組數。
Collisions per second
這個值提供了發生在指定網卡上的網路沖突的數量。持續的出現這個值代表在網路架構上出現了瓶頸,而不是在伺服器端出現的問題。在正常配置的網路中沖突是非常少見的,除非用戶的網路環境都是由hub組成。
Packets dropped
這個值表示了被內核丟掉的數據包數量,可能是因為防火牆或者是網路緩存的缺乏。
Overruns
Overruns表達了超出網路介面緩存的次數,這個參數應該和packets dropped值聯繫到一起來判斷是否存在在網路緩存或者網路隊列過長方面的瓶頸。
Errors
這個值記錄了標志為失敗的幀的數量。這個可能由錯誤的網路配置或者部分網線損壞導致,在銅口千兆乙太網環境中部分網線的損害是影響性能的一個重要因素。
四、塊設備參數
Iowait
CPU等待I/O操作所花費的時間。這個值持續很高通常可能是I/O瓶頸所導致的。
Average queue length
I/O請求的數量,通常一個磁碟隊列值為2到3為最佳情況,更高的值說明系統可能存在I/O瓶頸。
Average wait
響應一個I/O操作的平均時間。Average wait包括實際I/O操作的時間和在I/O隊列里等待的時間。
Transfers per second
描述每秒執行多少次I/O操作(包括讀和寫)。Transfers per second的值與kBytes per second結合起來可以幫助你估計系統的平均傳輸塊大小,這個傳輸塊大小通常和磁碟子系統的條帶化大小相符合可以獲得最好的性能。
Blocks read/write per second
這個值表達了每秒讀寫的blocks數量,在2.6內核中blocks是1024bytes,在早些的內核版本中blocks可以是不同的大小,從512bytes到4kb。
Kilobytes per second read/write
按照kb為單位表示讀寫塊設備的實際數據的數量。