应用耗时监控 涉及多个接口 监控某个进程cpu使用率_物理内存



CPU监控命令之mpstat命令

1

概述:

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

2

常用命令格式:

pidstat [参数] [时间] [次数]

3

命令参数:

-u 默认的参数,显示各个进程的CPU使用统计

-r 显示各个进程的内存使用统计

-d 显示各个进程的IO使用情况

-p 指定进程号

-w 显示每个进程的上下文切换情况

-t 显示选择任务的线程的统计信息外的额外信息

4

使用实例:

01

实例1:

命令:直接使用pidstat命令:

pidstat和pidstat -u -p ALL是等效的,默认显示所有进程的CPU使用率

输出:


应用耗时监控 涉及多个接口 监控某个进程cpu使用率_物理内存_02


说明:

UID:用户ID

PID:进程ID

%usr:进程在用户空间占用CPU的百分比

%system:进程在内核空间占用CPU的百分比

%guest:任务花费在虚拟机上的CPU使用率(运行在虚拟处理器)

%CPU:任务总的CPU使用率

CPU:正在运行这个任务的处理器编号

Command:这个任务的命令名称

02

实例2:

命令:查看进程内存使用情况信息

pidstat -r

输出:


应用耗时监控 涉及多个接口 监控某个进程cpu使用率_常用命令_03


说明:

minflt/s:从内存中加载数据时每秒出现的次要错误的数目,这些不要求从磁盘载入内存页面

majflt/s:从内存中加载数据时每秒出现的主要错误的数目,这些要求从磁盘载入内存页面

VSZ:虚拟地址大小,虚拟内存的使用KB

RSS:长期内存使用,任务的不可交换物理内存的使用量KB

%MEM:进程使用的物理内存百分比,top命令也会输出该字段

03

实例3:

命令:查看进程IO情况信息

pidstat -d

输出:


应用耗时监控 涉及多个接口 监控某个进程cpu使用率_加载数据_04


说明:

kB_rd/s:进程每秒从磁盘读取的数据量(以kB为单位)

kB_wr/s:进程每秒向磁盘写入的数据量(以kB为单位)

kB_ccwr/s:任务写入磁盘被取消的速率(KB);当任务截断脏的pagecache的时候会发生。

5

pidstat常用命令:

使用pidstat进行问题定位时,以下命令常被用到:

pidstat -u 1

pidstat -r 1

pidstat -d 1

以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息。