zoukankan      html  css  js  c++  java
  • 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:当前进程对应的命令
  • 相关阅读:
    【第40套模拟题】【noip2011_mayan】解题报告【map】【数论】【dfs】
    【模拟题(63550802...)】解题报告【贪心】【拓扑排序】【找规律】【树相关】
    【模拟题(电子科大MaxKU)】解题报告【树形问题】【矩阵乘法】【快速幂】【数论】
    IMemoryBufferReference and IMemoryBufferByteAccess
    SoftwareBitmap and BitmapEncoder in Windows.Graphics.Imaging Namespace
    Windows UPnP APIs
    编译Android技术总结
    Windows函数转发器
    Two Ways in Delphi to Get IP Address on Android
    Delphi Call getifaddrs and freeifaddrs on Android
  • 原文地址:https://www.cnblogs.com/hankyoon/p/13448718.html
Copyright © 2011-2022 走看看