引言
在檢視系統資源使用情況時,很多任務具為我們提供了從裝置角度檢視的方法。例如使用iostat檢視磁碟io統計資訊:
linux:~ # iostat -d 3以上顯示的是從sda的角度統計的結果。當我們需要從程序的角度,檢視每個程序使用系統資源的情況,有什麼方法嗎?device: tps blk_read/s blk_wrtn/s blk_read blk_wrtn
sda
1.67
0.00
40.00
0120
使用pidstat工具可以獲取每個程序使用cpu、記憶體和磁碟等系統資源的統計資訊,pidstat由sysstat rpm包提供,可在suse11使用。下面我們來看pidstat的具體用法。
預設輸出
執行pidstat,將輸出系統啟動後所有活動程序的cpu統計資訊:
linux:~#pidstatlinux以上輸出,除最開頭一行顯示核心版本、主機名、日期和cpu架構外,主要列含義如下: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預設輸出資訊為系統啟動後到執行時間點的統計資訊,因而即使當前某程序的cpu佔用率很高,輸出中的值有可能仍為0。
指定取樣週期和取樣次數
像sar、iostat等命令一樣,也可以給pidstat命令指定取樣週期和取樣次數,命令形式為」pidstat [option] interval [count]」,以下pidstat輸出以2秒為取樣週期,輸出2次cpu使用統計資訊:
linux:~ #pidstat 2 2linux若不指定統計次數count,則pidstat將一直輸出統計資訊。2.6.32.12-0.7-default (linux) 06/18/12
_x86_64_
14:40:39 pid %usr %system %guest %cpu cpu command
14:40:41
9567
0.50
1.49
0.00
1.98
2atop
14:40:41
12405
0.00
0.50
0.00
0.50
6pidstat
14:40:41 pid %usr %system %guest %cpu cpu command
14:40:43
7830
0.50
0.50
0.00
1.00
7runhpialarm
14:40:43
12405
0.00
1.00
0.00
1.00
6 pidstat
cpu使用情況統計(-u)
使用-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
io情況統計(-d)
使用-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
針對特定程序統計(-p)
使用-p選項,我們可以檢視特定程序的系統資源使用情況:
linux:~ #pidstat -r -p 1 1linux以上pidstat命令以1秒為取樣時間間隔,檢視init程序的記憶體使用情況。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常用命令
使用pidstat進行問題定位時,以下命令常被用到:
pidstat -u 1
pidstat -r 1
pidstat -d 1
以上命令以1秒為資訊採集週期,分別獲取cpu、記憶體和磁碟io的統計資訊。
使用pidstat檢視程序資源使用情況
在檢視系統資源使用情況時,很多任務具為我們提供了從裝置角度檢視的方法。例如使用iostat檢視磁碟io統計資訊 linux iostat d 3 device tps blk read s blk wrtn s blk read blk wrtn sda 1.67 0.00 40.00 0 120 ...
Linux使用Pidstat命令檢視程序狀態資訊
1.前言 本文主要介紹如何使用linux命令來檢視程序狀態和資訊。程序識別符號process identifier pid 是linux unix核心 windows作業系統也不例外 用來標識程序的數字號碼。通常來說,使用fork system call系統呼叫建立新程序。可以在linux下監視每個...
inux 資源監控分析 pidstat
pidstat是sysstat工具的乙個命令,用於監控全部或指定程序的cpu 記憶體 執行緒 裝置io等系統資源的占用情況。pidstat首次執行時顯示自系統啟動開始的各項統計資訊,之後執行pidstat將顯示自上次執行該命令以後的統計資訊。使用者可以通過指定統計的次數和時間來獲得所需的統計資訊。r...