如何分析pidstat

这篇文章将为大家详细讲解有关如何分析pidstat,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

为大洼等地区用户提供了全套网页设计制作服务,及大洼网站建设行业解决方案。主营业务为成都做网站、成都网站制作、大洼网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

pidstat 

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

用法: pidstat [ 选项 ] [ <时间间隔> [ <次数> ] ]

选项:

[ -C <命令> ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -t ] [ -u ] [ -V ] [ -w ]

[ -p { <进程号> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]

常用的参数:

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

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

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

-p:指定进程号

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

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

-T{ TASK | CHILD | ALL }:TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息,ALL表示报告独立的task和task下面的所有线程。

注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。

-V:版本号

-h:在一行上显示了所有活动,这样其他程序容易解析

-I:在SMP环境,表示任务的CPU使用率/内核数量

-l:显示命令名和所有参

查看所有进程的CPU使用情况

pidstat 和 pidstat -u -p ALL 是等效的。

[root@127-0-0-1 ~]# pidstat

Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 08/06/2020 _x86_64_(40 CPU)

07:57:55 PM       PID    %usr %system  %guest    %CPU   CPU  Command

07:57:55 PM         1    0.00    0.00    0.00    0.00     1  init

07:57:55 PM         2    0.00    0.00    0.00    0.00     1  kthreadd

07:57:55 PM         3    0.00    0.00    0.00    0.00     0  migration/0

07:57:55 PM         4    0.00    0.00    0.00    0.00     0  ksoftirqd/0

PID:进程ID

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

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

%guest:进程在虚拟机占用CPU的百分比

%CPU:进程占用CPU的百分比

CPU:处理进程的CPU编号

Command:当前进程对应的命令

内存使用情况统计

[root@127-0-0-1 ~]# pidstat -r

Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 08/06/2020 _x86_64_(40 CPU)

08:02:38 PM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command

08:02:38 PM         1      0.00      0.00   19352   1472   0.00  init

08:02:38 PM       836      0.00      0.00  215600  75416   0.06  redis-server

08:02:38 PM      1630      0.02      0.00 1601196 115652   0.09  mongod

PID:进程标识符

minflt/s:任务每秒发生的次要错误,不需要从磁盘加载页

majflt/s:任务每秒发生的主要错误,需要从磁盘加载页

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

RSS:常驻集合大小,非交换区里内存使用KB

Command:task命令名

IO使用情况统计

[root@127-0-0-1 ~]# pidstat -d

Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 08/06/2020 _x86_64_(40 CPU)

08:06:08 PM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

08:06:08 PM         1     37.59    186.71      1.63  init

08:06:08 PM       584      0.00      0.01      0.00  khugepaged

08:06:08 PM       836      0.00      0.00      0.00  redis-server

08:06:08 PM      1630      0.00      0.04      0.02  mongod

PID:进程id

kB_rd/s:每秒从磁盘读取的KB

kB_wr/s:每秒写入磁盘KB

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

COMMAND:task的命令名

进程上下文切换

[root@127-0-0-1 ~]# pidstat -w -p 24397

Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 08/06/2020 _x86_64_(40 CPU)

08:08:11 PM       PID   cswch/s nvcswch/s  Command

08:08:11 PM     24397      0.00      0.00  mongod

PID:进程id

Cswch/s:每秒主动任务上下文切换数量

Nvcswch/s:每秒被动任务上下文切换数量

Command:命令名

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

[root@127-0-0-1 ~]# pidstat -t -p 24397

Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 08/06/2020 _x86_64_(40 CPU)

08:09:24 PM      TGID       TID    %usr %system  %guest    %CPU   CPU  Command

08:09:24 PM     24397         -    0.00    0.00    0.00    0.00    30  mongod

08:09:24 PM         -     24397    0.00    0.00    0.00    0.00    30  |__mongod

08:09:24 PM         -     24398    0.00    0.00    0.00    0.00    21  |__signalP.gThread

08:09:24 PM         -     24399    0.00    0.00    0.00    0.00     2  |__Backgro.kSource

TGID:主线程的标识符

TID:线程id

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

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

%guest:进程在虚拟机占用cpu的百分比

%CPU:进程占用cpu的百分比

CPU:处理进程的cpu编号

Command:当前进程对应的命令

关于如何分析pidstat就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

本文名称:如何分析pidstat
文章源于:https://www.cdcxhl.com/article30/ijeeso.html

成都网站建设公司_创新互联,为您提供网页设计公司微信小程序网站设计企业建站响应式网站网站导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司