pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

[root@tspvggdb01-test1-rgtj1-tj1 logs]#  pidstat -help
Usage: pidstat [ options ] [ [] ]
Options are:[ -C] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -t ] [ -u ] [ -V ] [ -w ][ -p {[,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]

-u:默认的参数,显示各个进程的cpu使用统计
-r:显示各个进程的内存使用统计
-d:显示各个进程的IO使用情况
-p:指定进程号
-w:显示每个进程的上下文切换情况
-t:显示选择任务的线程的统计信息外的额外信息
-T { TASK | CHILD | ALL }

 一、所有进程CPU的使用情况

inux 资源监控分析-pidstat_inux

PID:进程ID
%usr:进程在用户空间占用cpu的百分比
%system:进程在内核空间占用cpu的百分比
%guest:进程在虚拟机占用cpu的百分比
%CPU:进程占用cpu的百分比
CPU:处理进程的cpu编号
Command:当前进程对应的命令

查看pid=14982进程的CPU情况 2秒统计一次

inux 资源监控分析-pidstat_inux_02

 

 

 

二、查看内存pidstat  -r 

查看 pid=14982进程的内存情况 2秒统计一次

inux 资源监控分析-pidstat_pidstat_03

 

 

 

PID:进程标识符
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:常驻集合大小,非交换区五里内存使用KB
%MEM:内存占用百分比
Command:task命令名

三、查看进程的上下文切换  pidstat -w

查看 pid=14982进程的上下文切换情况2秒打印一次

inux 资源监控分析-pidstat_pidstat_04

 

 

PID:进程id
Cswch/s:每秒主动任务上下文切换数量
Nvcswch/s:每秒被动任务上下文切换数量
Command:命令名

 四、查看当前进程的线程情况 pidstat -p 14982 -t 

查看 pid=14982进程的各个线程的内存情况

inux 资源监控分析-pidstat_pidstat_05

 

 

 五、查看进程的磁盘IO情况

inux 资源监控分析-pidstat_inux_06

 

 

kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)
kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)
Command: 拉起进程对应的命令