首頁 > 軟體

Linux下效能分析命令總結]

2020-06-16 17:26:39

1、前言

  在Linux下開發程式,為了追求高效能,經常需要測試程式的效能,包括cpu、記憶體、io、網路等等使用情況。liunx下提供了眾多命令方便檢視各種資源的使用情況。經常用的有ps、top、free、mpstat、iostat、vmstat、netstat。

2、ps、top、free命令

  ps用於檢視系統中進程的情況,top能夠實時顯示系統中各個進程的資源佔用狀況,free命令可以顯示Linux系統中空閒的、已用的實體記憶體及swap記憶體,及被核心使用的buffer。

 

3、mpstat命令

  用於獲取 CPU 相關統計資訊,命令執行結果如下圖所示:

 

%user         表示處理使用者進程所使用 CPU 的百分比。

%nice         表示使用 nice 命令對進程進行降級時 CPU 的百分比。nice 命令更改進程的優先順序。

%system    表示核心進程使用的 CPU 百分比  

%iowait      表示等待進行 I/O 所使用的 CPU 時間百分比  

%irq          表示用於處理系統中斷的 CPU 百分比  

%soft        表示用於軟體中斷的 CPU 百分比  

%idle         顯示 CPU 的空閒時間  

4、iostat命令

  效能評估的一個主要部分就是磁碟效能,iostat 命令提供了儲存介面的效能指標。執行結果下圖所示:

 

tps 每秒的傳輸數量,例如,每秒的 I/O 運算元。註:這只是 I/O 操作的數量;每個操作可能非常大,也可能非常小。

Blk_read/s 每秒從該裝置讀取的塊數。通常,塊的大小為 512 位元組。這是一個磁碟利用率較好的值。

Blk_wrtn/s 每秒寫入該裝置的塊數

Blk_read 到目前為止從該裝置讀取的塊數。注意,這並不是正在發生的情況。很多塊已經從該裝置讀取。可能現在什麼也沒有讀取。觀察一段時間,看是否有變化。

Blk_wrtn 寫入該裝置的塊數。

5、vmstat命令

  顯示所有與記憶體和進程相關資訊的命令,執行結果如下所示:

procs 顯示進程數

r 等待執行的進程。系統上的負載越多,等待執行 CPU 周期的進程數量越多。

b 不可中斷睡眠的進程,也稱為“被阻塞”的進程。這些進程最有可能等待 I/O,但也可能等待其他事情。

wpd,free,buff,cache顯示了記憶體值班

wpd 虛擬記憶體或交換記憶體的數量(以 KB 為單位)

free 可用實體記憶體的數量(以 KB 為單位)

buff 用作緩衝區的記憶體數量(以 KB 為單位)

cache 用作快取的實體記憶體數量(以 KB 為單位)

si so 顯示了交換活動:

si 將記憶體從磁碟交換回物理 RAM 的速率(以 KB/秒為單位)

so 將記憶體從物理 RAM 交換到磁碟的速率(以 KB/秒為單位)

bi,bo顯示了 I/O 活動:

bi 系統向塊裝置傳送資料的速率(以塊/秒為單位)

bo 系統從塊裝置中讀取資料的速率(以塊/秒為單位)

in,cs 顯示了系統相關活動:

in 系統每秒接收到的中斷數

cs 在進程空間中切換上下文的速率(以數量/秒為單位)


us,sy,id,wa 顯示了 CPU 負載的資訊:

us 顯示花費在使用者進程中的 CPU 百分比。Oracle 進程屬於這一類。

sy 系統進程(如所有根進程)使用的 CPU 百分比

id 可用 CPU 百分比

wa 花費在“等待 I/O”上的百分比

6、netstat命令

  用於顯示各種網路相關資訊,如網路連線,路由表,介面狀態 (Interface Statistics),masquerade 連線,多播成員 (Multicast Memberships) 等等。

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-12/137931.htm


IT145.com E-mail:sddin#qq.com