pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔。它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的。
一、安装pidstat
#yum install sysstat
#Ubuntu使用
#apt-get install sysstat
二、使用pidstat
#pidstat
在结果中查看如下内容
- PID-被监控的任务的进程号
- %usr -当在用户层执行(应用程序)时这个任务的cpu使用率和nice的优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。
- %system - 这个任务在系统层使用时的cpu使用率
- %guest - 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。
- %CPU - 任务总的cpu使用率。在SMP环境(多处理器)中,如果在命令行中输入-I参数的话,cpu使用率会除以你的cpu数量。
- CPU - 正在运行这个任务的处理器编号。
- Command - 这个任务的命令名称。
三、I/O统计数据
使用-d参数来得到I/O的统计
#pidstat -d -p 15274
IO输出显示信息:
- kB_rd/s - 任务从硬盘上的读取速度(kb)
- kB_wr/s - 任务向硬盘中的写入速度(kb)
- kB_ccwr/s - 任务写入磁盘被取消的速率(kb)
四、内存统计
1、可以通过使用下面的命令来监测内存使用(-r参数)
#pidstat -r 2 5
这会给你5份关于page faults的统计数据结果,间隔2秒。这将会更容易的定位出现问题的进程。
2、显示所有mysql服务器的子进程
# pidstat -T CHILD -C mysql
3、将所有的统计数据结合到一个便于阅读的单一报告中
# pidstat -urd -h
END