八個常用 Linux 性能監測命令,你用過幾個?
在Linux系統中,性能監測工具是很多的,我下面將常用的幾個命令行工具進行介紹。
1. top/htop
(1) top:
圖片
功能:實時監控進程,顯示CPU、內存、負載、交換區等信息。
常用快捷鍵:
快捷鍵 | 說明 |
M | 按內存使用排序 |
P | 按CPU使用排序 |
k | 殺死進程,輸入進程ID |
q | 退出 |
(2) htop
功能:top的增強版本,提供更友好的界面和交互性。
特點:支持用箭頭鍵選擇進程,并可以直接殺死、查看進程樹。在顯示界面會有提示鍵
最小化安裝的系統需要自行安裝htop:
yum install -y htop
2. vmstat
功能:監控系統的內存、進程、CPU和I/O等。
輸出字段:
字段 | 說明 |
r | 運行隊列中等待CPU的進程數(Runnable) |
b | 處于等待狀態的進程數(Blocked) |
swpd | 已使用的虛擬內存 |
free | 空閑內存 |
buff | 用作緩沖區的內存 |
cache | 用作頁面緩存的內存 |
si | 從交換空間讀取的內存 |
so | 寫入交換空間的內存量 |
bi | 每秒鐘從塊設備(如磁盤)讀取的塊數 |
bo | 每秒鐘寫入塊設備的塊數 |
in | 每秒中斷的次數 |
cs | 每秒上下文切換的次數 |
us | 用戶空間占用的CPU時間百分比(User) |
sy | 內核空間占用的CPU時間百分比(System) |
id | 空閑的CPU時間百分比(Idle) |
wa | 等待I/O的CPU時間百分比(Wait) |
st | 被虛擬機偷取的CPU時間百分比(Stolen) |
常用操作:每1秒更新一次,輸出5次
vmstat 1 5
3. iostat
功能:幫助用戶分析磁盤的讀寫性能,監控設備I/O活動,以及了解系統的整體負載情況。
語法格式:
iostat [選項] [更新時間間隔 次數]
常用選項:
選項 | 說明 |
-c | 示 CPU 使用情況 |
-d | 顯示磁盤設備的統計信息 |
-x | 顯示擴展的磁盤統計信息 |
-p | 顯示每個分區的統計信息 |
-h | 使用更友好的單位 |
主要輸出字段:
輸出字段 | 說明 |
%user | 用戶進程消耗的CPU百分比 |
%system | 系統進程消耗的CPU百分比 |
%iowait | 等待 I/O 的 CPU 時間百分比 |
%idle | 空閑的 CPU 時間百分比(Idle) |
tps | 每秒鐘的 I/O 操作次數 |
kB_read/s | 每秒讀取的 KB 數 |
kB_wrtn/s | 每秒寫入的 KB 數 |
kB_read | 從系統啟動以來讀取的總 KB 數 |
kB_wrtn | 從系統啟動以來寫入的總 KB 數 |
使用-x選項的擴展輸出::
輸出內容 | 說明 |
r_await | 每次讀取操作的平均等待時間(ms) |
w_await | 每次寫入操作的平均等待時間(ms) |
await | 所有 I/O 操作(讀/寫)的平均等待時間(ms) |
svctm | 每次 I/O 操作的平均服務時間(ms) |
%util | 磁盤的利用率 |
常用操作:每 1 秒鐘更新一次,輸出 5 次統計信息。
iostat -x 1 5
4. netstat/ss
功能:查看網絡連接、監聽端口、路由信息等信息。
netstat和ss命令功能基本一樣的。
常用選項:
選項 | 說明 |
-a | 顯示所有連接和監聽端口 |
-t | 顯示 TCP 協議的連接 |
-u | 顯示 UDP 協議的連接 |
-l | 顯示正在監聽的套接字 |
-p | 顯示哪個進程正在使用該連接 |
-n | 以數字格式顯示地址和端口號(默認情況下,會顯示主機名和服務名)。 |
-r | 顯示路由表 |
常用操作: 顯示正在監聽的端口和使用這些端口的進程
netstat -lntup
ss -lnupt
ss命令也可以快速查看網絡連接,通常比netstat更高效。
5. sar
功能:幫助用戶監控系統狀態,并生成關于 CPU 使用率、內存、I/O、網絡、文件系統等的詳細報告
sar屬于sysstat包,需要單獨安裝。sar 默認并不會持續收集數據,還需要啟動sysstat。
yum install sysstat
systemctl enable --now sysstat
常用操作:
- 每秒報告一次CPU使用情況,報告三次。
sar -u 1 3
- 每秒報告一次內存使用情況,報告三次。
sar -r 1 3
6. iptraf
iptraf 是一個基于終端的交互式網絡監控工具,主要用于實時監控和分析 Linux 系統的網絡流量。它提供了詳細的網絡接口統計信息、網絡連接狀態、數據包計數、傳輸速率等內容,常用于網絡性能調優和故障排查。iptraf 可以幫助系統管理員快速發現網絡瓶頸、連接問題和流量異常。
安裝:
yum install iptraf
使用:
iptraf-ng
里面涉及的一些輸出字段大部分應該是比較熟悉的,就不展開講解了。
7. nmon
功能:圖形化監控工具,支持多項性能指標。
使用: 啟動nmon,按c查看CPU,按m查看內存,按d查看磁盤。
按c查看CPU:
按m查看內容:
按d查看磁盤:
8. strace
功能:跟蹤系統調用,幫助調試程序。
安裝:
yum install strace
使用strace -p監控特定進程的系統調用,或使用strace ./your_program跟蹤程序的執行。
先通過netstat或top命令找到對應的PID,然后再追蹤: