在Linux 中使用 pidstat 命令監控進程性能
-
檢查系統是否已經安裝了
pidstat打開終端,輸入以下命令檢查是否已經安裝了pidstat:pidstat -V如果顯示版本信息,說明已經安裝,可以跳過安裝步驟。如果提示找不到命令,那么繼續下一步安裝。
-
更新包管理器 在安裝
pidstat前,建議先更新系統的包管理器來獲取最新的軟件包列表。可以使用以下命令:對于基于
Debian或Ubuntu的系統:sudo apt update對于基于
Red Hat、CentOS或Fedora的系統:sudo yum update -
安裝 sysstat 包
pidstat是sysstat工具包的一部分,因此我們需要安裝sysstat來獲取pidstat。對于基于
Debian或Ubuntu的系統:sudo apt install sysstat對于基于
Red Hat、CentOS或Fedora的系統:sudo yum install sysstat -
驗證安裝 安裝完成后,驗證
pidstat是否已經成功安裝:pidstat -V你應該看到類似以下的輸出,表示
pidstat已經安裝成功:sysstat version: 11.7.3
pidstat version: 11.7.3
二、使用 pidstat 監控進程
pidstat 可以監控多個指標,如 CPU 使用率、內存使用情況、I/O 操作等。接下來,我們將詳細介紹如何使用不同的選項來監控進程。
1. 查看 CPU 使用情況
要查看所有進程的 CPU 使用情況,使用以下命令:
pidstat
這將顯示每個進程的 CPU 使用率,輸出結果包括以下信息:
-
PID: 進程 ID。 -
%usr: 用戶態 CPU 使用率。 -
%system: 內核態 CPU 使用率。 -
%CPU: 總的 CPU 使用率。
如果你想在一段時間內持續監控進程的 CPU 使用情況,可以使用以下格式的命令:
pidstat 2 5
這意味著每隔 2 秒刷新一次數據,共顯示 5 次。可以根據需要調整刷新間隔和次數。
2. 查看指定進程的 CPU 使用情況
要查看某個特定進程的 CPU 使用情況,假設進程的 PID 為 1234,可以使用以下命令:
pidstat -p 1234
這將只顯示該進程的 CPU 使用情況。
3. 查看內存使用情況
要查看所有進程的內存使用情況,可以使用 -r 選項:
pidstat -r
這將顯示以下與內存相關的信息:
-
minflt/s: 每秒次級頁面錯誤數。 -
majflt/s: 每秒主頁面錯誤數。 -
VSZ: 虛擬內存大小。 -
RSS: 駐留集大小。
同樣,如果你想在一段時間內持續監控進程的內存使用情況,可以指定時間間隔和次數:
pidstat -r 2 5
這意味著每隔 2 秒刷新一次內存使用情況,共顯示 5 次。
4. 查看 I/O 操作
要監控進程的 I/O 操作,可以使用 -d 選項:
pidstat -d
這將顯示以下與 I/O 操作相關的信息:
-
kB_rd/s: 每秒從磁盤讀取的數據量。 -
kB_wr/s: 每秒寫入磁盤的數據量。 -
kB_ccwr/s: 取消寫入的千字節數(由于緩存)。
你也可以指定刷新間隔和次數:
pidstat -d 2 5
這意味著每隔 2 秒刷新一次 I/O 操作數據,共顯示 5 次。
5. 查看線程信息
pidstat 還可以監控每個進程的線程使用情況,使用 -t 選項可以顯示線程級別的監控信息:
pidstat -t
這會顯示每個進程的線程詳細信息,包括線程 ID (TID)、線程 CPU 使用率等。
6. 保存監控數據
如果你希望將監控數據保存到文件中,可以使用重定向符將輸出寫入文件。例如,將 CPU 使用情況保存到 cpu_usage.txt 中:
pidstat 2 5 > cpu_usage.txt
這樣你可以在稍后查看該文件中的數據。
三、結合其他選項
你可以組合使用 pidstat 的多個選項。例如,監控某個特定進程的 CPU、內存和 I/O 使用情況,假設進程 ID 為 1234,可以使用以下命令:
pidstat -p 1234 -r -d
這將顯示進程 1234 的 CPU、內存和 I/O 使用情況。
四、定時任務監控
如果你需要長時間監控進程,可以結合 cron 或 nohup 命令使用。例如,使用 nohup 運行以下命令,使其在后臺持續運行,并將輸出保存到
nohup pidstat 2 1000 > monitor.log &
這將每隔 2 秒記錄一次系統的進程信息,持續 1000 次,并將輸出記錄到 monitor.log 文件中。你可以通過 tail -f monitor.log
本文來自博客園,作者:ZHappy-Blog,轉載請注明原文鏈接:http://www.rzrgm.cn/fqxm/p/18429073

浙公網安備 33010602011771號