2021-05-12 14:32:11
Linux下效能分析命令總結]
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
相關文章