# pidstat如何安裝和使用
## 一、pidstat簡介
`pidstat` 是Linux系統監控工具 `sysstat` 套件中的一個實用程序,專門用于監控進程級別的系統資源使用情況。它可以報告CPU、內存、磁盤I/O、線程等關鍵指標,是系統管理員和開發人員進行性能分析的利器。
### 主要功能
- 監控單個進程的CPU使用率
- 統計進程的內存占用(RSS、VSZ等)
- 跟蹤進程的磁盤I/O活動
- 報告線程級別的統計信息
- 支持自定義采樣間隔和次數
## 二、安裝pidstat
### 1. 檢查系統是否已安裝
```bash
which pidstat
若顯示路徑(如/usr/bin/pidstat
)則表示已安裝。
不同Linux發行版的安裝命令如下:
sudo apt update
sudo apt install sysstat
sudo yum install sysstat
sudo dnf install sysstat
sudo pacman -S sysstat
pidstat -V
應顯示類似sysstat version 12.5.3
的版本信息。
sysstat
默認每10分鐘收集一次系統數據,可通過以下命令啟用:
sudo systemctl enable sysstat
sudo systemctl start sysstat
pidstat [選項] [間隔時間] [采樣次數]
pidstat -u 2 5
-u
:顯示CPU統計(默認選項)2
:每2秒采樣一次5
:共采樣5次輸出示例:
Linux 5.4.0-91-generic (hostname) 2023-10-01 _x86_64_ (4 CPU)
10:30:00 UID PID %usr %system %guest %wait %CPU CPU Command
10:30:02 0 1 0.00 0.00 0.00 0.00 0.00 0 systemd
10:30:02 0 123 1.50 0.50 0.00 0.25 2.00 1 python3
pidstat -p 1234 1 3
監控PID為1234的進程,每秒1次,共3次。
pidstat -r 1 5
-r
:顯示內存統計RSS
:物理內存使用量(KB)VSZ
:虛擬內存使用量(KB)%MEM
:內存使用百分比pidstat -d 2
-d
:顯示磁盤I/O統計kB_rd/s
:每秒讀取數據量(KB)kB_wr/s
:每秒寫入數據量(KB)pidstat -t -p 1234 1 3
-t
:顯示線程級統計TID
(線程ID)列pidstat -urd 1 5
同時監控CPU、內存和磁盤I/O。
pidstat -u | sort -k8 -rn
pidstat -u -U username 1 5
pidstat -u 1 5 --output=pidstat.csv
pgrep nginx | xargs pidstat -p
如果which pidstat
無輸出,請檢查:
- 是否已安裝sysstat
- /usr/bin
是否在$PATH
中
可能原因:
- 監控間隔太短(嘗試增加間隔時間)
- 進程已終止
- 權限不足(嘗試sudo
)
建議: - 增加采樣次數獲取平均值 - 避免在極高負載時采樣
pidstat -u 1 10 | grep -v " 0.00 "
過濾掉CPU使用率為0的進程,快速定位高CPU進程。
pidstat -r -p 1234 60 120 > mem.log
長期監控可疑進程的內存增長趨勢。
工具 | 特點 | 與pidstat對比 |
---|---|---|
top | 實時交互式監控 | pidstat支持歷史數據記錄 |
htop | 增強版top,可視化更好 | pidstat更適合自動化監控 |
vmstat | 系統整體資源監控 | pidstat專注進程級監控 |
iotop | 專精磁盤I/O監控 | pidstat功能更綜合 |
pidstat
作為專業的進程監控工具,具有以下優勢:
- 輕量級,對系統影響小
- 支持多種資源類型監控
- 可定制采樣頻率和持續時間
- 生成機器可讀的輸出格式
建議將pidstat
納入日常系統監控工具箱,配合其他工具如vmstat
、iostat
等,構建完整的性能監控體系。
注意:本文基于sysstat 12.5.3版本編寫,不同版本功能可能略有差異。 “`
這篇文章共計約1500字,采用Markdown格式編寫,包含: 1. 多級標題結構 2. 代碼塊標記 3. 表格對比 4. 有序/無序列表 5. 強調文本 6. 實際命令示例 7. 常見問題解決方案 8. 實用案例分析 9. 工具對比表格
可根據需要調整內容細節或添加更多實際案例。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。