Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 安裝使用 pidstat 監控進程 CPU、I/O、記憶體完整指南

編輯:關於 Linux

pidstat 是 sysstat 套件的一部分,專門監控個別進程的 CPU、I/O、記憶體、分頁錯誤等資源使用情況,支援指定進程 ID、監控子進程、定時輸出報表。本文記錄安裝、基本輸出欄位解讀、I/O 統計、記憶體統計、常用範例與進階組合參數。

安裝 pidstat

# Debian/Ubuntu
apt-get install sysstat

# CentOS/Fedora/RHEL
yum install sysstat

# 開啟 sysstat 服務(可選,用於歷史資料收集)
service sysstat start
chkconfig sysstat on

基本用法(CPU 統計)

pidstat
# 相當於 pidstat -p ALL,僅顯示活躍任務

# 間隔 2 秒輸出 5 次報表
pidstat 2 5

# 顯示所有任務(含閒置)
pidstat -p ALL

輸出欄位解讀 (CPU)

欄位含義
PID進程 ID
%usr用戶態 CPU 使用率(不含 nice 優先級)
%system核心態 CPU 使用率
%guest虛擬機 CPU 使用率
%CPU總 CPU 使用率(SMP 環境加 -I 可除以核心數)
CPU執行該任務的處理器編號
Command指令名稱

pidstat 基本輸出截圖

I/O 統計 (-d)

pidstat -d -p 8472
# kB_rd/s  : 每秒讀取 KB 數
# kB_wr/s  : 每秒寫入 KB 數
# kB_ccwr/s: 每秒取消寫入 KB 數 (writeback cancelled)

pidstat I/O 輸出截圖

記憶體與分頁錯誤 (-r)

pidstat -r -p 8472
# minflt/s : 次要分頁錯誤/秒 (無需讀磁碟)
# majflt/s : 主要分頁錯誤/秒 (需從磁碟載入頁面)
# VSZ      : 虛擬記憶體大小 (KB)
# RSS      : 常駐記憶體大小 (KB,不可交換)

pidstat 記憶體輸出截圖

pidstat 分頁錯誤截圖

常用範例

# 1. 監控記憶體使用,每 2 秒採樣 5 次
pidstat -r 2 5

# 2. 顯示 mysql 所有子進程
pidstat -T CHILD -C mysql

# 3. 綜合報表:CPU + 記憶體 + I/O,人類可讀格式
pidstat -urd -h

# 4. 指定進程持續監控
pidstat -p 1234 1
# 每 1 秒輸出一次,Ctrl+C 停止

進階參數

參數說明
-T TASK|CHILD|ALL顯示任務/子進程/全部
-C cmd依指令名稱篩選(支援正則)
-G pattern依進程名稱模式篩選
-h人類可讀格式(單位自動換算)
-ISMP 環境下 CPU 使用率除以核心數
-V顯示版本
Copyright © Windows教程網 All Rights Reserved