linux命令---pidstat

概述

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

应用

命令格式

pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,…] | SELF | ALL } ] [ -r ] [ -t ] [ -T { TASK | CHILD | ALL } ] [ -u ] [ -V ] [ -w ] [ interval [ count ]]
*注意*同样需要注意版本问题请使用前man一下参数,本例是以sysstat9.0.4

选项解释

选项 含义说明
-C comm 显示包含comm字符串的任务.
-d 内核版本2.6+生效。I/O统计报告:会显示字段PID、kB_rd/s、kB_wr/s、kB_ccwr/s、Command
-h 显示所有活动进程在同一行。这是为了使它更容易被其他程序解析
-I 在SMP环境中,执行任务消耗的CPU由所有处理器均分
-l 列出命令所有参数。
-p { pid [,…] | SELF | ALL } 统计显示被选择的任务报告.pid是进程标识.SELF关键字标识显示pidstat进程自身报告,ALL关键字显示系统管理的所有任务进程报告
-r 显示缺页错误和内存使用率,当统计单独的进程时会显示字段PID、 minflt/s、majflt/s、VSZ、RSS、Command;当统计全局报告时会显示字段PID、minflt-nr、majflt-nr、Command
-t 显示选择进程相关的线程统计信息,会增加显示字段TGID、TID
-T { TASK | CHILD | ALL }
-u 统计CPU使用率.会增加显示PID、%usr、%system、%guest、%CPU、CPU、Command、PID、usr-ms、system-ms、guest-ms、Command
-V 退出时打印版本号.
-w 内核2.6.23+可以使用,报告任务切换活动报告,增加显示字段PID、cswch/s、nvcswch/s、Command

参数解释

选项 含义说明
interval 采样周期
count 采样次数

输出项说明

-d显示字段:

选项 说明
PID 进程标识
kB_rd/s 以kb为单位统计每秒从磁盘读的数量
kB_wr/s 以kb为单位统计每秒写入磁盘的数量
kB_ccwr/s 以kb为单位统计在执行时写入磁盘被取消的数量
Command 拉起进程对应的命令

-r单个任务报告时显示字段:

选项 说明
PID 进程标识
minflt/s 每秒次缺页总数,次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数,不需要从磁盘加载内存页
majflt/s 每秒主缺页总数,当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生,需要从磁盘加载内存页
VSZ 虚拟内存大小:kb为单位统计所有任务使用的虚拟内存总量
RSS 物理内存大小:kb为单位统计所有任务使用的不可交换的物理内存
Command 拉起进程对应的命令

-r全局任务统计报告时显示字段:

选项 说明
PID 进程标识
minflt-nr 在采样周期中统计所有轻微错误和它们的子集
majflt-nr 在采样周期中统计所有严重错误和它们的子集
Command 拉起进程对应的命令包括被监控的子集

-t显示字段

选项 说明
TGID 线程组leader标识
TID 被监控的进程号标识

-u单个任务报告时显示字段:

选项 说明
PID 进程号标识
%usr 用户态执行任务占用CPU的百分比,包括或不包括优化时间,注意不包括运行虚拟处理器时间.
%system 内核态执行任务占用CPU百分比
%guest 虚拟态执行任务占用百分比
%CPU 任务占用CPU的百分比,在SMP环境中,CPU的使用率需要被所有处理器均分
CPU 任务绑定的处理器编号
Command 拉起进程对应的命令

-u全局任务统计报告时显示字段:

选项 说明
PID 进程标识id和被监控的子集id
usr-ms 在统计周期内,用户态任务和其子任务耗时统计(ms),包括或者不包括调优时间,注意不包括运行虚拟处理器时间
system-ms 在统计周期内,内核态任务和其子任务耗时统计(ms)
guest-ms 在统计周期内,虚拟态任务和其子任务耗时统计(ms)
Command 拉起进程对应的命令和其子集名称

-w显示字段

选项 说明
PID 任务ID标识
cswch/s 任务每秒引发的自愿的上下文切换。自愿的上下文切换发生在任务块,因为它需要资源未就绪
nvcswch/s 任务每秒引发的非自愿的上下文切换数量,这种上下文切换会导致正在执行任务的时间片强制放弃当前任务去执行其他任务。
Command 拉起进程对应的命令

应用场景

1、针对特定进程统计(-p)
使用-p选项,我们可以查看特定进程的系统资源使用情况
2、IO情况统计(-d)
使用-d选项,我们可以查看进程IO的统计信息
3、内存使用情况统计(-r)
使用-r选项,pidstat将显示各活动进程的内存使用统计
4、cpu使用情况统计(-u)
使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样

原文链接
欢迎拍砖,未完待续……

你可能感兴趣的:(Linux,命令,性能测试,linux,线程,内存,cpu,命令)