pidstat主要用於監控全部或指定程序占用系統資源的情況,如cpu,記憶體、裝置io、任務切換、執行緒等。pidstat首次執行時顯示自系統啟動開始的各項統計資訊,之後執行pidstat將顯示自上次執行該命令以後的統計資訊。使用者可以通過指定統計的次數和時間來獲得所需的統計資訊。 安裝
yum install sysstat
sysstat
預設引數
執行pidstat,將輸出系統啟動後所有活動程序的cpu統計資訊:
以上輸出,除最開頭一行顯示核心版本、主機名、日期和cpu架構外,主要列含義如下:
linux:~# pidstat指定取樣週期和取樣次數linux
2.6.32.12-0.7-default (linux) 06/18/12
_x86_64_
11:37:19 pid %usr %system %guest %cpu cpu command
……11:37:19
11452
0.00
0.00
0.00
0.00
2bash
11:37:19
11509
0.00
0.00
0.00
0.00
3dd
pidstat命令指定取樣週期和取樣次數,命令形式為」pidstat [option] interval [count]」,以下pidstat輸出以2秒為取樣週期,輸出10次cpu使用統計資訊:
pidstat 2cpu使用情況統計(-u)10
使用-u選項,pidstat將顯示各活動程序的cpu使用統計,執行」pidstat -u」與單獨執行」pidstat」的效果一樣。
記憶體使用情況統計(-r)
使用-r選項,pidstat將顯示各活動程序的記憶體使用統計:
linux:~ # pidstat -r -p 13084以上各列輸出的含義如下:1linux
2.6.32.12-0.7-default (linux) 06/18/12
_x86_64_
15:08:18 pid minflt/s majflt/s vsz rss %mem command
15:08:19
13084
133835.00
0.00
15720284
15716896
96.26
mmmm
15:08:20
13084
35807.00
0.00
15863504
15849756
97.07
mmmm
15:08:21
13084
19273.87
0.00
15949040
15792944
96.72 mmmm
minflt/s: 每秒次缺頁錯誤次數(minor page faults),次缺頁錯誤次數意即虛擬記憶體位址對映成物理記憶體位址產生的page fault次數io情況統計(-d)majflt/s: 每秒主缺頁錯誤次數(major page faults),當虛擬記憶體位址對映成物理記憶體位址時,相應的page在swap中,這樣的page fault為major page fault,一般在記憶體使用緊張時產生
vsz: 該程序使用的虛擬記憶體(以kb為單位)
rss: 該程序使用的物理記憶體(以kb為單位)
%mem: 該程序使用記憶體的百分比
command: 拉起程序對應的命令
使用-d選項,我們可以檢視程序io的統計資訊:
linux:~ # pidstat -d 1輸出資訊含義2linux
2.6.32.12-0.7-default (linux) 06/18/12
_x86_64_
17:11:36 pid kb_rd/s kb_wr/s kb_ccwr/s command
17:11:37
14579
124988.24
0.00
0.00
dd17:11:37 pid kb_rd/s kb_wr/s kb_ccwr/s command
17:11:38
14579
105441.58
0.00
0.00
dd
kb_rd/s: 每秒程序從磁碟讀取的資料量(以kb為單位)kb_wr/s: 每秒程序向磁碟寫的資料量(以kb為單位)
kb_ccwr/s針對特定程序統計(-p): 該程序每秒取消磁碟寫入的數量
(以kb為單位)
command: 拉起程序對應的命令
使用-p選項,我們可以檢視特定程序的系統資源使用情況:
linux:~ # pidstat -r -p 1使用pidstat進行問題定位時,以下命令常被用到:1linux
2.6.32.12-0.7-default (linux) 06/18/12
_x86_64_
18:26:17 pid minflt/s majflt/s vsz rss %mem command
18:26:18
10.00
0.00
10380
6400.00
init
18:26:19
10.00
0.00
10380
6400.00
init
……
pidstat -u 1以上命令以1秒為資訊採集週期,分別獲取cpu、記憶體和磁碟io的統計資訊。pidstat -r 1
pidstat -d 1
參考:
Linux 執行程序實時監控pidstat命令詳解
pidstat主要用於監控全部或指定程序占用系統資源的情況,如cpu,記憶體 裝置io 任務切換 執行緒等。pidstat首次執行時顯示自系統啟動開始的各項統計資訊,之後執行pidstat將顯示自上次執行該命令以後的統計資訊。使用者可以通過指定統計的次數和時間來獲得所需的統計資訊。預設引數 執行pi...
Linux 執行程序實時監控pidstat命令詳解
pidstat主要用於監控全部或指定程序占用系統資源的情況,如cpu,記憶體 裝置io 任務切換 執行緒等。pidstat首次執行時顯示自系統啟動開始的各項統計資訊,之後執行pidstat將顯示自上次執行該命令以後的統計資訊。使用者可以通過指定統計的次數和時間來獲得所需的統計資訊。預設引數 執行pi...
Linux 的程序操作(執行程序)
如果需要在子程序中執行一些自定義的動作,則需要呼叫 exec 函式族。當程序呼叫 exec 系列函式的時候,該程序執行的程式被立即替換為新的程式,而新程式則從 main 函式開始執行,並立刻替換掉了當前程序的正文段 資料段 堆和堆疊,需要注意的是其程序識別符號和程序描述符是不會改變的。exec 函式...