我爱编程

pidstat (Linux 进程使用资源情况采样)

2018-06-06  本文已影响3人  Wille_Li

原由

由于最近在做压测相关工作,需要收集服务器被压状态的资源使用情况,所以了解相关命令。

pidstat 作用

pidstat 获取服务器指定进程的使用资源信息(包括 CPU、设备IO、内存、线程、任务切换等)。

执行一波

[root@wille ~]# pidstat
Linux 2.6.32-642.4.2.el6.x86_64 (wille)     06/06/2018  _x86_64_    (4 CPU)

09:01:45 AM       PID    %usr %system  %guest    %CPU   CPU  Command
09:01:45 AM         1    0.00    0.00    0.00    0.00     1  init
09:01:45 AM      2033    0.00    0.00    0.00    0.00     0  sshd
09:01:45 AM      2044    0.00    0.00    0.00    0.00     0  ntpd
09:01:45 AM      2123    0.00    0.00    0.00    0.00     0  master
09:01:45 AM      2132    0.00    0.00    0.00    0.00     2  qmgr
09:01:45 AM      2137    0.00    0.00    0.00    0.00     0  crond
09:01:45 AM     15667    0.01    0.01    0.00    0.02     2  java
09:01:45 AM     19061    0.00    0.00    0.00    0.00     0  sshd
...

结果说明:

CPU 统计数据(-u)

IO 统计数据(-d)

页面失败和内存使用(-r)

上下文切换情况(-w)

命令详解

[root@wille ~]# pidstat --help
Usage: pidstat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -C <command> ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -t ] [ -u ] [ -V ] [ -w ]
[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]

> [options]
> -C <command> 查看对应command进程的状态
> -d 查看设备IO(磁盘IO状态)
> -h 状态信息加入时间戳,如:1528246454
> -I 状态信息加入时间, 如: 08:53:55 AM   
> -l 显示进程详细命令,多个指标在同一行
> -r 查看能够得到内存使用情况的数据
> -u 查看cpu使用情况(默认状态)
> -V 查看工具版本
> -w 显示每个进程的上下文切换情况
> -p 指定进程号 (ALL:所有进程,SELF: 当前进程)
> -T { TASK | CHILD | ALL }
  这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。
注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。

> [ <interval> [ <count> ]
> interval 显示间隔,单位s
> count 显示次数,默认一直显示。

使用例子

查看指定进程 CPU,IO,内存情况

[root@wille ~]# pidstat -urd -h -p 15667 1
Linux 2.6.32-642.4.2.el6.x86_64 (wille)     06/06/2018  _x86_64_    (4 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
 1528251367     15667    3.00    1.00    0.00    4.00     2     18.00      0.00 6803856 1679248  20.84      0.00     88.00      0.00  java

#      Time       PID    %usr %system  %guest    %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s  Command
 1528251368     15667    2.00    2.00    0.00    4.00     2      0.00      0.00 6803856 1679248  20.84      0.00     84.00      0.00  java

#      Time       PID    %usr %system  %guest    %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s  Command
 1528251369     15667    3.00    2.00    0.00    5.00     2      0.00      0.00 6803856 1679248  20.84      0.00     92.00      0.00  java

#      Time       PID    %usr %system  %guest    %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s  Command
 1528251370     15667    3.00    2.00    0.00    5.00     2     17.00      0.00 6803856 1679248  20.84      0.00     92.00      0.00  java

#      Time       PID    %usr %system  %guest    %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s  Command
 1528251371     15667    3.00    2.00    0.00    5.00     2      0.00      0.00 6803856 1679248  20.84      0.00     88.00      0.00  java

#      Time       PID    %usr %system  %guest    %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s  Command
 1528251372     15667    2.00    3.00    0.00    5.00     2     36.00      0.00 6803856 1679248  20.84      0.00     92.00      0.00  java

#      Time       PID    %usr %system  %guest    %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM   kB_rd/s   kB_wr/s kB_ccwr/s  Command
 1528251373     15667    3.00    1.00    0.00    4.00     2     17.00      0.00 6803856 1679248  20.84      0.00     84.00      0.00  java
上一篇 下一篇

猜你喜欢

热点阅读