Linux(CentOS)性能监控命令pidstat

1、pidstat命令简介

pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。

1.1 如何安装pidstat

  pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。
  在Debian/Ubuntu系统中可以使用下面的命令来安装
 

# apt-get install sysstat

  CentOS/Fedora/RHEL版本的linux中则使用下面的命令:
 

# yum install sysstat

2、pidstat

[root@Beta-nginx test1]# pidstat
Linux 2.6.32-431.el6.x86_64 (Beta-nginx)        20180428日  _x86_64_        (4 CPU)

165049秒       PID    %usr %system  %guest    %CPU   CPU  Command
1650491    0.00    0.00    0.00    0.00     1  init
1650493    0.00    0.00    0.00    0.00     0  migration/0
1650494    0.00    0.00    0.00    0.00     0  ksoftirqd/0
1650496    0.00    0.00    0.00    0.00     0  watchdog/0
1650497    0.00    0.00    0.00    0.00     1  migration/1
1650499    0.00    0.00    0.00    0.00     1  ksoftirqd/1
16504910    0.00    0.00    0.00    0.00     1  watchdog/1

在结果中你能看到如下内容:

  • PID - 被监控的任务的进程号
  • %usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice 优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。
  • %system - 这个任务在系统层使用时的cpu使用率。
  • %guest - 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。
  • %CPU - 任务总的cpu使用率。在SMP环境(多处理器)中,如果在命令行中输入-I参数的话,cpu使用率会除以你的cpu数量。
  • CPU - 正在运行这个任务的处理器编号。
  • Command - 这个任务的命令名称。

3、用-help命令看看其用法

[root@Beta-nginx test1]# pidstat -help
用法: pidstat [ 选项 ] [ <时间间隔> [ <次数> ] ]
选项:
[ -C <命令> ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -t ] [ -u ] [ -V ] [ -w ]
[ -p { <进程号> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]

4、I/O统计数据

通过使用-d参数来得到I/O的统计数据。使用-p指定进程号,比如

[root@dev-nginx /]# pidstat -d -p 31745
Linux 2.6.32-431.el6.x86_64 (dev-nginx)         20180428日  _x86_64_        (4 CPU)

170027PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
17002731745      1.34     44.58      0.01  mysqld

IO 输出会显示一些内的条目:

  • kB_rd/s - 任务从硬盘上的读取速度(kb)
  • kB_wr/s - 任务向硬盘中的写入速度(kb)

5、查看CPU和内存数据

[root@dev-nginx /]# pidstat -u -p 31745
Linux 2.6.32-431.el6.x86_64 (dev-nginx)         20180428日  _x86_64_        (4 CPU)

17时09分48秒       PID    %usr %system  %guest    %CPU   CPU  Command
17时09分4831745    0.08    0.04    0.00    0.11     1  mysqld
[root@dev-nginx /]# pidstat -r -p 31745
Linux 2.6.32-431.el6.x86_64 (dev-nginx)         20180428日  _x86_64_        (4 CPU)

171001秒       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
17100131745      0.19      0.01 2893636 289984   1.78  mysqld

猜你喜欢

转载自blog.csdn.net/duzilonglove/article/details/80137046
今日推荐