導航:首頁 > 程序命令 > linux性能監控命令

linux性能監控命令

發布時間:2022-08-26 13:19:42

① 如何監視linux系統資源的使用情況

Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統下如何監視這個系統資源,做到心中有數。在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入top命令,即可以看到各個進程所佔用的系統資源。ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的top命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、stopped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。二、Top命令的使用技巧。1、 選擇合適的排序順序。在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在top命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變top命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。2、 監視特定用戶使用的資源情況。在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在top命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 top命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 top命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出top命令,然後再利用top命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。3、動態統計信息。使用top命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,top命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了top命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且top命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。4、刪除有異常的進程。如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個top進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。top在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在top命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根top命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。如何監視Linux系統資源的使用情況

② 如何使用Nmon監控Linux系統性能

用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_ubuntu810mv nmon_x86_ubuntu810 /usr/local/bin/nmon
對於 Debian 還要做以下操作(不做也同樣能運行):apt-get install lsb-releaselsb_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" 是這台主機的主機名。

③ linux下怎麼查看伺服器性能

1.1 cpu性能查看

1、查看物理cpu個數:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2、查看每個物理cpu中的core個數:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3、邏輯cpu的個數:

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu個數*核數=邏輯cpu個數(不支持超線程技術的情況下)

1.2 內存查看

1.3 硬碟查看

1、查看硬碟及分區信息:

fdisk -l

2、查看文件系統的磁碟空間佔用情況:

df -h

3、查看硬碟的I/O性能(每隔一秒顯示一次,顯示5次):

iostat -x 1 5

iostat是含在套裝systat中的,可以用yum -y install systat來安裝。

常關注的參數:

如%util接近100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。如idle小於70%,I/O的壓力就比較大了,說明讀取進程中有較多的wait。

4、查看linux系統中某目錄的大小:

-sh /root

如發現某個分區空間接近用完,可以進入該分區的掛載點,用以下命令找出佔用空間最多的文件或目錄,然後按照從大到小的順序,找出系統中佔用最多空間的前10個文件或目錄:

-cksh *|sort -rn|head -n 10

以上命令的詳細介紹可如下查詢:

④ 如何使用top命令監控Linux系統性能

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。下面詳細介紹它的使用方法。
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 191272k total, 173656k used, 17616k free, 22052k buffers
Swap: 192772k total, 0k used, 192772k free, 123988k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd
14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top
1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0

統計信息區
前五行是系統整體的統計信息。第一行是任務隊列信息,同 uptime 命令的執行結果。其內容如下:

01:06:48 當前時間
up 1:22 系統運行時間,格式為時:分
1 user 當前登錄用戶數
load average: 0.06, 0.60, 0.48 系統負載,即任務隊列的平均長度。
三個數值分別為 1分鍾、5分鍾、15分鍾前到現在的平均值。

第二、三行為進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容如下:

Tasks: 29 total 進程總數
1 running 正在運行的進程數
28 sleeping 睡眠的進程數
0 stopped 停止的進程數
0 zombie 僵屍進程數
Cpu(s): 0.3% us 用戶空間佔用CPU百分比
1.0% sy 內核空間佔用CPU百分比
0.0% ni 用戶進程空間內改變過優先順序的進程佔用CPU百分比
98.7% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si

最後兩行為內存信息。內容如下:

Mem: 191272k total 物理內存總量
173656k used 使用的物理內存總量
17616k free 空閑內存總量
22052k buffers 用作內核緩存的內存量
Swap: 192772k total 交換區總量
0k used 使用的交換區總量
192772k free 空閑交換區總量
123988k cached 緩沖的交換區總量。
內存中的內容被換出到交換區,而後又被換入到內存,但使用過的交換區尚未被覆蓋,
該數值即為這些內容已存在於內存中的交換區的大小。
相應的內存再次被換出時可不必再對交換區寫入。

進程信息區
統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。

序號 列名 含義
a PID 進程id
b PPID 父進程id
c RUSER Real user name
d UID 進程所有者的用戶id
e USER 進程所有者的用戶名
f GROUP 進程所有者的組名
g TTY 啟動進程的終端名。不是從終端啟動的進程則顯示為 ?
h PR 優先順序
i NI nice值。負值表示高優先順序,正值表示低優先順序
j P 最後使用的CPU,僅在多CPU環境下有意義
k %CPU 上次更新到現在的CPU時間佔用百分比
l TIME 進程使用的CPU時間總計,單位秒
m TIME+ 進程使用的CPU時間總計,單位1/100秒
n %MEM 進程使用的物理內存百分比
o VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
p SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。
q RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
r CODE 可執行代碼佔用的物理內存大小,單位kb
s DATA 可執行代碼以外的部分(數據段+棧)佔用的物理內存大小,單位kb
t SHR 共享內存大小,單位kb
u nFLT 頁面錯誤次數
v nDRT 最後一次寫入到現在,被修改過的頁面數。
w S 進程狀態。
D=不可中斷的睡眠狀態
R=運行
S=睡眠
T=跟蹤/停止
Z=僵屍進程
x COMMAND 命令名/命令行
y WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名
z Flags 任務標志,參考 sched.h

默認情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內容。

更改顯示內容
通過 f 鍵可以選擇顯示的內容。按 f 鍵之後會顯示列的列表,按 a-z 即可顯示或隱藏對應的列,最後按回車鍵確定。

按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以將相應的列向右移動,而大寫的 A-Z 可以將相應的列向左移動。最後按回車鍵確定。

按大寫的 F 或 O 鍵,然後按 a-z 可以將進程按照相應的列進行排序。而大寫的 R 鍵可以將當前的排序倒轉。

命令使用

1. 工具(命令)名稱
top
2.工具(命令)作用
顯示系統當前的進程和其他狀況;
top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態.如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止.
比較准確的說,top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最「敏感」的任務列表.該命令可以按CPU使用.內存使用和執行時間
對任務進行排序;而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定.
3.環境設置
在Linux下使用。
4.使用方法
4.1使用格式
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
4.2參數說明
d 指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之。
p 通過指定監控進程ID來僅僅監控某個進程的狀態。
q該選項將使top沒有任何延遲的進行刷新。如果調用程序有超級用戶許可權,那麼top將以盡可能高的優先順序運行。
S 指定累計模式
s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
i 使top不顯示任何閑置或者僵死進程。
c 顯示整個命令行而不只是顯示命令名
4.3其他
下面介紹在top命令執行過程中可以使用的一些交互命令。從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,如果在命令行選項中使用了s選項,則可能其中一些命令會被屏蔽掉。
Ctrl+L 擦除並且重寫屏幕。
h或者? 顯示幫助畫面,給出一些簡短的命令總結說明。
k 終止一個進程。系統將提示用戶輸入需要終止的進程PID,以及需要發送給該進程什麼樣的信號。一般的終止進程可以使用15信號;如果不能正常結束那就使用信號9強制結束該進程。默認值是信號15。在安全模式中此命令被屏蔽。
i 忽略閑置和僵死進程。這是一個開關式命令。
q 退出程序。
r 重新安排一個進程的優先順序別。系統提示用戶輸入需要改變的進程PID以及需要設置的進程優先順序值。輸入一個正值將使優先順序降低,反之則可以使該進程擁有更高的優先權。默認值是10。
S 切換到累計模式。
s 改變兩次刷新之間的延遲時間。系統將提示用戶輸入新的時間,單位為s。如果有小數,就換算成m s。輸入0值則系統將不斷刷新,默認值是5 s。需要注意的是如果設置太小的時間,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統負載也會大大增加。
f或者F 從當前顯示中添加或者刪除項目。
o或者O 改變顯示項目的順序。
l 切換顯示平均負載和啟動時間信息。
m 切換顯示內存信息。
t 切換顯示進程和CPU狀態信息。
c 切換顯示命令名稱和完整命令行。
M 根據駐留內存大小進行排序。
P 根據CPU使用百分比大小進行排序。
T 根據時間/累計時間進行排序。
W 將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。

⑤ 如何監控linux伺服器

一般監控伺服器,你可以

首先:你可以用iostat命令,顯示存儲子系統的詳細信息,可以用來監控磁碟I/O的情況,如果%iowait的值過大,那麼就是就說明很多IO在等待了,性能當然就有影響了,當然,用free也可以查看大概的情況,如下:

其次;就是windows下面都有的工具,wireshark,前身是ethereal,是一個網路協議檢測程序,可以抓去網站運行的相關咨詢,包括每一封包流向及其內容,監控TCP session動態等等。

當然有些服務商是有自己的伺服器監控系統,監控軟體的,我用的是小鳥雲的!他們有專門的與"雲監控」雲管家等監控軟體!我是覺得很好!這樣就免得麻煩!

⑥ 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

註:以上一些機器名稱或系統名稱,請根據實際情況自行調整及修改。

⑦ 幾個常用的linux性能監控命令

1. sar
每兩秒刷新一次, 總共5次
[root@dbhost01 ~]# sar 2 5
Linux 2.6.32-504.el6.x86_64 (dbhost01) 03/30/2018 _x86_64_ (4 CPU)
02:53:15 PM CPU %user %nice %system %iowait %steal %idle
02:53:17 PM all 0.66 0.00 1.72 0.66 0.00 96.96
02:53:19 PM all 1.34 0.00 3.35 0.80 0.00 94.51
02:53:21 PM all 0.79 0.00 1.59 1.45 0.00 96.17
02:53:23 PM all 0.40 0.00 2.00 0.80 0.00 96.80
02:53:25 PM all 0.66 0.00 1.85 0.79 0.00 96.70
Average: all 0.77 0.00 2.10 0.90 0.00 96.23
2. top
top -a 按照內存降序
[root@dbhost01 ~]# top -a
top - 15:00:54 up 6:04, 1 user, load average: 0.31, 0.19, 0.11
Tasks: 306 total, 1 running, 305 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.8%us, 2.4%sy, 0.0%ni, 88.9%id, 0.8%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 4048972k total, 3848576k used, 200396k free, 134844k buffers
Swap: 4194300k total, 1788k used, 4192512k free, 1835360k cached
3. vmstat
vmstat用於顯示虛擬內存,內核線程,磁碟,系統進程, CPU活動等統計信息。
需要安裝sysstat工具。
[root@dbhost01 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 1788 202508 135064 1835920 0 0 32 26 96 276 1 2 95 1 0
[root@dbhost01 ~]#
[root@dbhost01 ~]# vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 1788 202336 135068 1836000 0 0 32 26 97 276 1 2 95 1 0
0 0 1788 202624 135068 1836000 0 0 25 29 4012 6682 0 1 98 1 0
0 0 1788 202624 135072 1836004 0 0 57 87 4003 6685 0 1 98 1 0
1 0 1788 202508 135072 1836004 0 0 57 33 4402 7353 1 1 98 0 0
0 0 1788 202540 135076 1836004 0 0 33 47 4002 6674 0 1 98 1 0

4. lsof(list open files)
[root@dbhost01 ~]# lsof | grep 1521
certmonge 2348 root 16r FIFO 0,8 0t0 15212 pipe
certmonge 2348 root 18r FIFO 0,8 0t0 15218 pipe
gipcd.bin 2754 grid 109u unix 0xffff880139152180 0t0 36936 socket
5. tcpmp
tcpmp -i eth1
15:24:28.777779 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 393080:393596, ack 105, win 148, options [nop,nop,TS val 22996360 ecr 2443327], length 516
15:24:28.777809 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 393080:393596, ack 105, win 148, options [nop,nop,TS val 22996360 ecr 2443327], length 516
15:24:28.778976 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 393596:393968, ack 105, win 148, options [nop,nop,TS val 22996361 ecr 2443327], length 372
15:24:28.779011 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 393596:393968, ack 105, win 148, options [nop,nop,TS val 22996361 ecr 2443327], length 372
15:24:28.779013 IP 192.168.2.82.50990 > dbhost01.ssh: Flags [.], ack 393968, win 16652, options [nop,nop,TS val 2443327 ecr 22996360], length 0
15:24:28.779481 IP dbhost02-priv.23602 > dbhost01-priv.24271: UDP, length 556
15:24:28.779585 IP dbhost01-priv.24271 > dbhost02-priv.23602: UDP, length 80
15:24:28.779909 IP dbhost01-priv.24271 > dbhost02-priv.23602: UDP, length 80
15:24:28.780584 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 393968:394724, ack 105, win 148, options [nop,nop,TS val 22996362 ecr 2443327], length 756
15:24:28.780590 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 393968:394724, ack 105, win 148, options [nop,nop,TS val 22996362 ecr 2443327], length 756
15:24:28.780820 IP dbhost01-priv.24271 > dbhost02-priv.23602: UDP, length 556
15:24:28.782232 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 394724:395176, ack 105, win 148, options [nop,nop,TS val 22996364 ecr 2443327], length 452
15:24:28.782235 IP dbhost01.ssh > 192.168.2.82.50990: Flags [P.], seq 394724:395176, ack 105, win 148, options [nop,nop,TS val 22996364 ecr 2443327], length 452
6.netstat
[root@dbhost01 ~]# netstat -a | grep oracle
unix 2 [ ACC ] STREAM LISTENING 31861 /var/tmp/.oracle/ora_gipc_sdbhost01gridmyracdb-clusterCRFM_SIPC
unix 2 [ ACC ] STREAM LISTENING 33820 /var/tmp/.oracle/sdbhost01DBG_LOGD
unix 2 [ ACC ] STREAM LISTENING 41177 /var/tmp/.oracle/sdbhost01DBG_EVMD
unix 2 [ ACC ] STREAM LISTENING 65106 /var/tmp/.oracle/sAevm
unix 2 [ ACC ] STREAM LISTENING 65108 /var/tmp/.oracle/sSYSTEM.evm.acceptor.auth
7. htop
需要安裝

8. iostat
Total DISK READ: 91.48 K/s | Total DISK WRITE: 45.27 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
4071 be/4 oracle 30.18 K/s 0.00 B/s 0.00 % 4.69 % ora_lmon_orcl1
4117 be/4 oracle 60.36 K/s 15.09 K/s 0.00 % 3.69 % ora_ckpt_orcl1
2989 rt/4 grid 965.71 B/s 0.00 B/s 0.00 % 2.13 % ocssd.bin
4099 be/4 oracle 0.00 B/s 30.18 K/s 0.00 % 0.07 % ora_ckpt_test
2987 rt/4 grid 0.00 B/s 482.86 B/s 0.00 % 0.03 % ocssd.bin
2979 rt/3 root 0.00 B/s 3.77 K/s 0.00 % 0.00 % ologgerd -M -d /g01/grid/app/11.2.0/grid/crf/db/dbhost01
2980 rt/3 root 0.00 B/s 15.09 K/s 0.00 % 0.00 % ologgerd -M -d /g01/grid/app/11.2.0/grid/crf/db/dbhost01
9. iftop(流量監控工具)

⑧ linux伺服器監控的幾個方法和命令

監控會降低性能的。同問filter、simls是什麼?沒用過。
當伺服器系統性能突然低於平均應有的情況,問題可能來自在執行的進程、內存的使用率、磁碟的性能和CPU 的壓力。在預算有限的時代,理解如何優化系統性能比以往任何時候都重要。要實現它的前提是,你必須充分了解自己的伺服器,從而找到真正的瓶頸所在。本文提供一些基礎的工具來辨別和處理一些性能問題。工作過程是:首先查看整個系統的狀態(伺服器整體)後是檢查特定的子系統(內存、處理器、IO等)。

一、系統負載監測

1.使用uptime命令

2.使用cron命令進行定時監測系統負載:

二、Unix進程運行的監測

1.使用ps命令

Unix系統提供了ps等察看進程信息的系統調用,通過結合使用這些系統調用,我們可以清晰地了解進程的運行狀態以及存活情況,從而採取相應的措施,來確保Unix系統的性能。它們是目前在Unix下最常見的進程狀況查看工具,是隨 Unix版本發行的,安裝好系統之後,用戶就可以使用。 這里以ps命令為例,ps命令是最基本同時也是非常強大的進程查看命令。利用它可以確定有哪些進程正在運行及運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等。ps命令可以監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的

2.使用進程監控工具

如果安裝了CDE環境,可以使用圖形界面進程等系統信息,使用方法是單擊「前面板」上「工具」子面板上的「查找進程」控制項。 顯示「進程管理器」主窗口。它立即對工作站進行采樣,並顯示所有當前進程的采樣。

三、內存使用情況監測

內存是Unix內核所管理的最重要的資源之一。內存管理系統是操作系統中最為重要的部分,因為系統的物理內存總是少於系統所需要的內存數量。虛擬內存就是為了克服這個矛盾而採用的策略。系統的虛擬內存通過在各個進程之間共享內存而使系統看起來有多於實際內存的內存容量。Unix支持虛擬內存, 就是使用磁碟作為RAM的擴展,使可用內存相應地有效擴大。核心把當前不用的內存塊存到硬碟,騰出內存給其他目的。當原來的內容又要使用時,再讀回內存。

⑨ linux性能監控命令

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫, 是實時系統監控工具。該命令通過使用knlist子程序和/dev/kmen偽設備驅動器訪問這些數據,輸出信息直接列印在屏幕。vmstat反饋的與CPU相關的信息包括:

(1)多少任務在運行
(2)CPU使用的情況
(3)CPU收到多少中斷
(4)發生多少上下文切換

⑩ Linux性能監控工具、調優工具

除了保證程序的正確性以外,在項目開發中往往還關心性能和穩定性。我們往往要對內核、應用程序或整個系統進行性能優化。在性能優化中常用的手段如下:

使用top、vmstat、iostat、sysctl等常用工具

top命令用於顯示處理器的活動狀況。在預設情況下,顯示佔用CPU最多的任務,並且每隔5s做一次刷新;vmstat命令用於報告關於內核線程、虛擬內存、磁碟、陷阱和CPU活動的統計信息;iostat命令用於分析各個磁碟的傳輸閑忙狀況;netstat是用來檢測網路信息的工具; sar用於收集、報告或者保存系統活動信息,其中,sar用於顯示數據,sar1和sar2用於收集和保存數據

sysctl是一個可用於改變正在運行中的Linux系統的介面。用sysctl 可以讀取幾白個以上的系統變數,如用sysctl—a可讀取所有變數。

sysctl的實現原理是:所有的內核參數在/proc/sys中形成一個樹狀結構,sysctl系統調用的內核函數是sys_sysctl,匹配項目後,最後的讀寫在do_sysctl_strategy中完成。

2.使用高級分析手段,如OProfile、gprof

OProfile可以幫助用戶識別諸如模塊的佔用時間、循環的展開、高速緩存的使用率低、低效的類型轉換和冗餘操作、錯誤預測轉移等問題。它收集有關處理器事件的信息,其中包括TLB的故障、停機、存儲器訪問以及緩存命中和未命中的指令的攫取數量。OProfile支持兩種采樣方式:基於事件的采樣(Event Based)和基於時間的采樣(Time Based)。基於事件的采樣是OProfile只記錄特定事件(比如L2緩存未命中)的發生次數,當達到用戶設定的定值時Oprofile就記錄一下(采一個樣)。這種方式需要CPU內部有性能計數器(Performace Counter))。基於時間的采樣是OProfile藉助OS時鍾中斷的機制,在每個時鍾中斷,OProfile都會記錄一次(采一次樣)。引入它的目的在於,提供對沒有性能計數器的CPU的支持,其精度相對於基於事件的采樣要低,因為要藉助OS時鍾中斷的支持,對於禁用中斷的代碼,OProfile不能對其進行分析。

閱讀全文

與linux性能監控命令相關的資料

熱點內容
dns伺服器很差什麼意思 瀏覽:121
西門子數控機床編程與操作 瀏覽:991
工頻壓縮機專修 瀏覽:381
什麼app可以連接電視 瀏覽:169
神舟電腦無法復制文件夾 瀏覽:53
s7相片怎麼加密 瀏覽:530
單片機串接cd4094 瀏覽:820
cad批量生成pdf 瀏覽:254
iosui編程 瀏覽:137
怎麼看明日之後伺服器的排名 瀏覽:267
padcal編譯系統屬於 瀏覽:629
樂什麼是個APP借錢的 瀏覽:693
網路伺服器如何接線 瀏覽:491
虛擬機文件夾沒東西 瀏覽:904
狗狗用什麼app好 瀏覽:270
java代碼反編譯後出現特殊字元 瀏覽:992
oracle編程300經典 瀏覽:705
女生app取什麼名字好聽 瀏覽:397
msp430單片機串口 瀏覽:37
兒童壓縮面膜怎麼用法 瀏覽:93