八個常用 Linux 性能監(jiān)測命令,你用過幾個?
在Linux系統(tǒng)中,性能監(jiān)測工具是很多的,我下面將常用的幾個命令行工具進行介紹。

1. top/htop
(1) top:
圖片
功能:實時監(jiān)控進程,顯示CPU、內(nèi)存、負載、交換區(qū)等信息。
常用快捷鍵:
快捷鍵  | 說明  | 
M  | 按內(nèi)存使用排序  | 
P  | 按CPU使用排序  | 
k  | 殺死進程,輸入進程ID  | 
q  | 退出  | 
(2) htop

功能:top的增強版本,提供更友好的界面和交互性。
特點:支持用箭頭鍵選擇進程,并可以直接殺死、查看進程樹。在顯示界面會有提示鍵
最小化安裝的系統(tǒng)需要自行安裝htop:
yum install -y htop2. vmstat

功能:監(jiān)控系統(tǒng)的內(nèi)存、進程、CPU和I/O等。
輸出字段:
字段  | 說明  | 
r  | 運行隊列中等待CPU的進程數(shù)(Runnable)  | 
b  | 處于等待狀態(tài)的進程數(shù)(Blocked)  | 
swpd  | 已使用的虛擬內(nèi)存  | 
free  | 空閑內(nèi)存  | 
buff  | 用作緩沖區(qū)的內(nèi)存  | 
cache  | 用作頁面緩存的內(nèi)存  | 
si  | 從交換空間讀取的內(nèi)存  | 
so  | 寫入交換空間的內(nèi)存量  | 
bi  | 每秒鐘從塊設(shè)備(如磁盤)讀取的塊數(shù)  | 
bo  | 每秒鐘寫入塊設(shè)備的塊數(shù)  | 
in  | 每秒中斷的次數(shù)  | 
cs  | 每秒上下文切換的次數(shù)  | 
us  | 用戶空間占用的CPU時間百分比(User)  | 
sy  | 內(nèi)核空間占用的CPU時間百分比(System)  | 
id  | 空閑的CPU時間百分比(Idle)  | 
wa  | 等待I/O的CPU時間百分比(Wait)  | 
st  | 被虛擬機偷取的CPU時間百分比(Stolen)  | 
常用操作:每1秒更新一次,輸出5次
vmstat 1 53. iostat

功能:幫助用戶分析磁盤的讀寫性能,監(jiān)控設(shè)備I/O活動,以及了解系統(tǒng)的整體負載情況。
語法格式:
iostat [選項] [更新時間間隔  次數(shù)]常用選項:
選項  | 說明  | 
-c  | 示 CPU 使用情況  | 
-d  | 顯示磁盤設(shè)備的統(tǒng)計信息  | 
-x  | 顯示擴展的磁盤統(tǒng)計信息  | 
-p  | 顯示每個分區(qū)的統(tǒng)計信息  | 
-h  | 使用更友好的單位  | 
主要輸出字段:
輸出字段  | 說明  | 
%user  | 用戶進程消耗的CPU百分比  | 
%system  | 系統(tǒng)進程消耗的CPU百分比  | 
%iowait  | 等待 I/O 的 CPU 時間百分比  | 
%idle  | 空閑的 CPU 時間百分比(Idle)  | 
tps  | 每秒鐘的 I/O 操作次數(shù)  | 
kB_read/s  | 每秒讀取的 KB 數(shù)  | 
kB_wrtn/s  | 每秒寫入的 KB 數(shù)  | 
kB_read  | 從系統(tǒng)啟動以來讀取的總 KB 數(shù)  | 
kB_wrtn  | 從系統(tǒng)啟動以來寫入的總 KB 數(shù)  | 
使用-x選項的擴展輸出::
輸出內(nèi)容  | 說明  | 
r_await  | 每次讀取操作的平均等待時間(ms)  | 
w_await  | 每次寫入操作的平均等待時間(ms)  | 
await  | 所有 I/O 操作(讀/寫)的平均等待時間(ms)  | 
svctm  | 每次 I/O 操作的平均服務(wù)時間(ms)  | 
%util  | 磁盤的利用率  | 
常用操作:每 1 秒鐘更新一次,輸出 5 次統(tǒng)計信息。
iostat -x 1 54. netstat/ss

功能:查看網(wǎng)絡(luò)連接、監(jiān)聽端口、路由信息等信息。
netstat和ss命令功能基本一樣的。
常用選項:
選項  | 說明  | 
-a  | 顯示所有連接和監(jiān)聽端口  | 
-t  | 顯示 TCP 協(xié)議的連接  | 
-u  | 顯示 UDP 協(xié)議的連接  | 
-l  | 顯示正在監(jiān)聽的套接字  | 
-p  | 顯示哪個進程正在使用該連接  | 
-n  | 以數(shù)字格式顯示地址和端口號(默認情況下,會顯示主機名和服務(wù)名)。  | 
-r  | 顯示路由表  | 
常用操作: 顯示正在監(jiān)聽的端口和使用這些端口的進程
netstat -lntup
ss -lnuptss命令也可以快速查看網(wǎng)絡(luò)連接,通常比netstat更高效。

5. sar

功能:幫助用戶監(jiān)控系統(tǒng)狀態(tài),并生成關(guān)于 CPU 使用率、內(nèi)存、I/O、網(wǎng)絡(luò)、文件系統(tǒng)等的詳細報告
sar屬于sysstat包,需要單獨安裝。sar 默認并不會持續(xù)收集數(shù)據(jù),還需要啟動sysstat。
yum install sysstat
systemctl enable --now sysstat常用操作:
- 每秒報告一次CPU使用情況,報告三次。
 
sar -u 1 3
- 每秒報告一次內(nèi)存使用情況,報告三次。
 
sar -r 1 3
6. iptraf
iptraf 是一個基于終端的交互式網(wǎng)絡(luò)監(jiān)控工具,主要用于實時監(jiān)控和分析 Linux 系統(tǒng)的網(wǎng)絡(luò)流量。它提供了詳細的網(wǎng)絡(luò)接口統(tǒng)計信息、網(wǎng)絡(luò)連接狀態(tài)、數(shù)據(jù)包計數(shù)、傳輸速率等內(nèi)容,常用于網(wǎng)絡(luò)性能調(diào)優(yōu)和故障排查。iptraf 可以幫助系統(tǒng)管理員快速發(fā)現(xiàn)網(wǎng)絡(luò)瓶頸、連接問題和流量異常。
安裝:
yum install iptraf使用:
iptraf-ng
里面涉及的一些輸出字段大部分應(yīng)該是比較熟悉的,就不展開講解了。
7. nmon
功能:圖形化監(jiān)控工具,支持多項性能指標。
使用: 啟動nmon,按c查看CPU,按m查看內(nèi)存,按d查看磁盤。

按c查看CPU:

按m查看內(nèi)容:

按d查看磁盤:

8. strace
功能:跟蹤系統(tǒng)調(diào)用,幫助調(diào)試程序。
安裝:
yum install strace使用strace -p監(jiān)控特定進程的系統(tǒng)調(diào)用,或使用strace ./your_program跟蹤程序的執(zhí)行。
先通過netstat或top命令找到對應(yīng)的PID,然后再追蹤:
















 
 
 















 
 
 
 