[20141203]學習使用pidstat.txt
[20141203]學習使用pidstat.txt
# rpm -qif `which pidstat`
Name : sysstat Relocations: (not relocatable)
Version : 9.0.4 Vendor: CentOS
Release : 18.el6 Build Date: Tue 19 Jul 2011 08:43:17 PM CST
Install Date: Sun 17 Jun 2012 12:32:32 PM CST Build Host: c6b5.bsys.dev.centos.org
Group : Applications/System Source RPM: sysstat-9.0.4-18.el6.src.rpm
Size : 825089 License: GPLv2+
Signature : RSA/SHA1, Mon 26 Sep 2011 12:25:37 PM CST, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <>
URL :
Summary : The sar and iostat system monitoring commands
Description :
This package provides the sar and iostat commands for Linux. Sar and
iostat enable system monitoring of disk, network, and other IO
activity.
--竟然和前幾天看sar命令在同一個包裡面,比對才知道好像rh 4.X版本沒有這個命令,僅僅在centos 6.X才存在。順便學習看看。
--能使用它來檢測程式以及生成報表,也能檢測特定的程式號或者系統的全部程式。並且也是sysstat軟體包的一部分,自己很少使用它。
1.檢視特定的命令相關程式:
# pidstat -C oracle
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:10:12 PM PID %usr %system %guest %CPU CPU Command
04:10:12 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:10:12 PM 4323 0.00 0.00 0.00 0.00 21 oracle
04:10:12 PM 4325 0.00 0.00 0.00 0.00 13 oracle
04:10:12 PM 4327 0.00 0.00 0.00 0.00 17 oracle
04:10:12 PM 4329 0.00 0.00 0.00 0.00 13 oracle
04:10:12 PM 4331 0.00 0.00 0.00 0.00 13 oracle
04:10:12 PM 4333 0.00 0.00 0.00 0.00 13 oracle
...
2.檢測特定程式號。
# pidstat -p 4321 1
64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:12:33 PM PID %usr %system %guest %CPU CPU Command
04:12:34 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:35 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:36 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:37 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:38 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:39 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:40 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:41 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:42 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:43 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:44 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:45 PM 4321 0.00 0.00 0.00 0.00 0 oracle
04:12:46 PM 4321 0.00 0.00 0.00 0.00 0 oracle
--後面的參數列示間隔事件(單位秒),實現連續檢測。
3.顯示I/O Statistics,使用-d選項,後面的參數列示間隔時間。
# pidstat -p 4335 -d 1
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:17:48 PM PID kB_rd/s kB_wr/s kB_ccwr/s Command
04:17:49 PM 4335 0.00 0.00 0.00 oracle
04:17:50 PM 4335 0.00 0.00 0.00 oracle
04:17:51 PM 4335 0.00 32.00 0.00 oracle
04:17:52 PM 4335 0.00 0.00 0.00 oracle
04:17:53 PM 4335 0.00 0.00 0.00 oracle
04:17:54 PM 4335 0.00 32.00 0.00 oracle
04:17:55 PM 4335 0.00 0.00 0.00 oracle
04:17:56 PM 4335 0.00 0.00 0.00 oracle
04:17:57 PM 4335 0.00 32.00 0.00 oracle
04:17:58 PM 4335 0.00 0.00 0.00 oracle
04:17:59 PM 4335 0.00 0.00 0.00 oracle
04:18:00 PM 4335 0.00 32.00 0.00 oracle
04:18:01 PM 4335 0.00 0.00 0.00 oracle
04:18:02 PM 4335 0.00 0.00 0.00 oracle
04:18:03 PM 4335 0.00 32.00 0.00 oracle
04:18:04 PM 4335 0.00 0.00 0.00 oracle
04:18:05 PM 4335 0.00 0.00 0.00 oracle
# ps -ef | grep 4335 | grep -v grep
oracle 4335 1 0 Nov21 ? 00:01:24 ora_ckpt_xxxxxx
--可以發現oracle的ckpt程式每3秒寫1次。應該是控制檔案。必須按ctrl+c退出。
--可以在後面再增加一個引數,限制執行的次數,然後退出。其他以下的命令具有相似的作用。
4.顯示Paging Activity,使用-r引數,後面的參數列示間隔時間。
# pidstat -p 4335 -r 1
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:20:34 PM PID minflt/s majflt/s VSZ RSS %MEM Command
04:20:35 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:36 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:37 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:38 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:39 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:40 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:41 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:42 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
04:20:43 PM 4335 0.00 0.00 3296996 15608 0.05 oracle
5.顯示執行命令的完成引數,使用-l引數。
# pidstat -p 3930 -l
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:23:37 PM PID %usr %system %guest %CPU CPU Command
04:23:37 PM 3930 0.00 0.00 0.00 0.00 1 /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
# pidstat -p 3930
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:23:45 PM PID %usr %system %guest %CPU CPU Command
04:23:45 PM 3930 0.00 0.00 0.00 0.00 1 tnslsnr
# pidstat -C tnslsnr -l
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:24:27 PM PID %usr %system %guest %CPU CPU Command
04:24:27 PM 3930 0.00 0.00 0.00 0.00 1 /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
6.顯示特定程式的子程式使用-T引數。
後面引數:CHILD ALL TASK
# pidstat -T CHILD | head
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:34:22 PM PID usr-ms system-ms guest-ms Command
04:34:22 PM 1 33373890 26414510 0 init
04:34:22 PM 3 1150 6330 0 migration/0
04:34:22 PM 4 10 340620 0 ksoftirqd/0
04:34:22 PM 6 3680 5690 0 watchdog/0
04:34:22 PM 7 1820 4360 0 migration/1
04:34:22 PM 8 0 20 0 migration/1
04:34:22 PM 9 10 297100 0 ksoftirqd/1
7.以樹型格式顯示使用-t引數。
# pidstat -C tnslsnr -t -l
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
04:37:51 PM TGID TID %usr %system %guest %CPU CPU Command
04:37:51 PM 3930 - 0.00 0.00 0.00 0.00 1 /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
04:37:51 PM - 3930 0.00 0.00 0.00 0.00 1 |__/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
04:37:51 PM - 3931 0.00 0.00 0.00 0.00 15 |__/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
8.顯示全部統計在一行,使用-h引數:
--很奇怪很少有命令引數使用-h,一般使用它作為幫助。
--前面提到-r 顯示Paging Activity,-d 顯示磁碟IO -u 顯示cpu使用。
--如果執行 pidstat -rud 是分開顯示,不直觀。加入-h引數解決這個問題。
[root@xxxxxx IP=100.89 ~ 99]# pidstat -p 4335 1 -rdu -h
Linux 2.6.32-220.17.1.el6.x86_64 (xxxxxx) 12/03/2014 _x86_64_ (24 CPU)
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596299 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596300 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596301 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 32.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596302 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596303 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596304 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 32.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596305 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596306 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596307 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 32.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596308 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596309 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 0.00 0.00 oracle
# Time PID %usr %system %guest %CPU CPU minflt/s majflt/s VSZ RSS %MEM kB_rd/s kB_wr/s kB_ccwr/s Command
1417596310 4335 0.00 0.00 0.00 0.00 1 0.00 0.00 3296996 15608 0.05 0.00 32.00 0.00 oracle
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1355429/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- AIDL使用學習(一):基礎使用學習AI
- github使用學習Github
- Auctex學習使用
- 學習去使用 Ajax
- AJAX的學習使用
- zookeeper學習02 使用
- react 學習--使用MixinReact
- pagetable的使用學習
- Android UI學習 - Tab的學習和使用AndroidUI
- 深度學習之遷移學習介紹與使用深度學習遷移學習
- Shell學習【變數使用】變數
- 學習瞭解使用dockerDocker
- iOS 學習使用 Swift CodableiOSSwift
- 學習Grafana初級使用Grafana
- VUEX 使用學習三 : mutationsVue
- VUEX 使用學習五 : getterVue
- node學習—express基本使用Express
- jQuery學習(2)ajax()使用jQuery
- docker學習之使用映象Docker
- 【JavaScript學習筆記】if使用JavaScript筆記
- 【Mysql學習】LIMIT的使用MySqlMIT
- 【Mysql 學習】LIMIT 的使用MySqlMIT
- cmake中使用gtest學習
- AI工具的學習使用AI
- [20141203]分析語句導致阻塞分析表.txt
- javascript學習筆記--元字元使用練習JavaScript筆記字元
- 【學習筆記】Go Modules 使用筆記Go
- 學習使用RSocket - Waldemar Panas
- 學習指東:使用 Laravel JetstreamLaravel
- zookeeper學習03 使用場景
- VUEX state 的使用學習二Vue
- webpack 學習筆記:使用 lodashWeb筆記
- Retrofit 原始碼學習與使用原始碼
- docker學習4:Docker 映象使用Docker
- react學習系列5使用reduxReactRedux
- YYKit 原始碼學習使用 1原始碼
- 要學習使用的安全工具
- 學習使用XML引擎XQEngine(轉)XML