pidstat命令详解

更新时间:2023-06-29 19:00:27 阅读: 评论:0

pidstat命令详解
⼀、命令介绍
  pidstat是sysstat⼯具中的⼀个命令,⽤于监控进程的cpu、内存、线程、IO及上下⽂切换等系统资源的占⽤情况。
格式:
pidstat [ options ] [ <interval> [ <count> ] ]
分别是选项时间间隔采集次数
选项含义
-u默认的参数,显⽰各个进程的cpu使⽤统计
-r显⽰各个进程的内存使⽤情况
-d显⽰各个进程的IO使⽤情况
-w显⽰各个进程的上下⽂切换情况
-t显⽰线程
-p指定进程号
-l显⽰命令名和所有参数
-C仅显⽰Command中包含匹配字符串的进程
-G显⽰符合匹配进程名字的进程
⼆、输出信息含义
[root@rver ~]# pidstat
大喜过望的近义词
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/27/2019      _x86_64_        (1 CPU)
04:21:36 PM  UID      PID    %usr %system  %guest  %wait    %CPU  CPU  Command
04:21:36 PM    0        1    0.00    0.00    0.00    0.00    0.00    0  systemd
04:21:36 PM    0        2    0.00    0.00    0.00    0.00    0.00    0  kthreadd
04:21:36 PM    0        3    0.00    0.01    0.00    0.03    0.01    0  ksoftirqd/0
04:21:36 PM    0        7    0.00    0.00    0.00    0.00    0.00    0  migration/0
04:21:36 PM    0        9    0.00    0.01    0.00    0.37    0.01    0  rcu_sched
04:21:36 PM    0        10    0.00    0.00    0.00    0.00    0.00    0  watchdog/0
04:21:36 PM    0        12    0.00    0.00    0.00    0.00    0.00    0  kdevtmpfs
•  UID:⽤户id
•  PID:进程id
•  %ur:表⽰⽤户进程所使⽤cpu的百分⽐
•  %system:表⽰内核进程所使⽤cpu的百分⽐
•  %guest:表⽰运⾏vCPU时所消耗的cpu时间百分⽐
•  %wait:表⽰任务在等待运⾏时花费的cpu的百分⽐。
•  %CPU:表⽰进程所使⽤cpu的百分⽐
•  CPU:处理进程的cpu编号
读书卡片•  Command:进程对应的命令
注:运⾏pidstat不加任何选项,统计的信息为系统启动开始的各项统计信息
三、实例演⽰
(1)使⽤-r选项统计进程内存使⽤情况
05:34:31 PM  UID      PID  minflt/s  majflt/s    VSZ    RSS  %MEM  Command
05:34:33 PM  999    12264      2.97      0.00  342756  55092  2.92  mongod
05:34:33 PM  999    12415    18.32      0.00 1414132  194044  10.30  node
05:34:33 PM    0    27341      0.99      0.00 3264944  534056  28.35  java
05:34:33 PM    0    28616    920.30      0.00  117412    6732  0.36  pidstat
Average:      UID      PID  minflt/s  majflt/s    VSZ    RSS  %MEM  Command
Average:      999    12264      2.97      0.00  342756  55092  2.92  mongod
Average:      999    12415    18.32      0.00 1414132  194044  10.30  node
Average:        0    27341      0.99      0.00 3264944  534056  28.35  java
Average:        0    28616    920.30      0.00  117412    6732  0.36  pidstat
•  minflt/s:从内存中加载数据时每秒出现的次要错误的数⽬,这些不要求从磁盘载⼊内存页⾯
•  majflt/s:从内存中加载数据时每秒出现的主要错误的数⽬,这些要求从磁盘载⼊内存页⾯,⼀般在内存使⽤紧张时产⽣。
•  VSZ:占⽤的虚拟内存⼤⼩,包括进⼊交换分区的内存
•  RSS:占⽤的物理内存⼤⼩,不包括进⼊交换分区的内存
•  %MEM:进程使⽤的物理内存百分⽐
(2)使⽤-d选项统计进程IO使⽤情况
[root@rver ~]# pidstat -d 2 1
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/27/2019      _x86_64_        (1 CPU)
06:18:11 PM  UID      PID  kB_rd/s  kB_wr/s kB_ccwr/s iodelay  Command
06:18:13 PM  999    12264    979.80      2.02      0.00      0  mongod
Average:      UID      PID  kB_rd/s  kB_wr/s kB_ccwr/s iodelay  Command
Average:      999    12264    979.80      2.02      0.00      0  mongod
•  kB_rd/s:进程每秒从磁盘读取的数据量(以kB为单位)
•  kB_wr/s:进程每秒向磁盘写⼊的数据量(以kB为单位)
•  kB_ccwr/s:任务写⼊磁盘被取消的速率(以kB为单位)
•  iodelay:任务的I/O阻塞延迟,以时钟周期为单位,包括等待同步块 I/O 和换⼊块 I/O 结束的时间
例如,我使⽤stress命令模拟i/o密集情况。
[root@rver ~]# stress -i 1
stress: info: [4536] dispatching hogs: 0 cpu, 1 io, 0 vm, 0 hdd
  可以清楚看到jbd2和loop2的 I/O延迟和向磁盘写⼊的数据量较之前提⾼了很多 。解释⼀下jbd2是什么,它是⽂件系统的⼀个⽇志功能,是ext4⽂件系统的⽇志功能,如果开启了这个⽇志功能的话,它占⽤的资源,会随着系统IO压⼒的增⼤⽽增多。
09:29:31 AM  UID      PID  kB_rd/s  kB_wr/s kB_ccwr/s iodelay  Command
博湖县属于哪个市09:29:33 AM    0      259      0.00      4.02      0.00      0  jbd2/vda1-8
09:29:33 AM  999    12264      0.00      2.01      0.00      0  mongod
09:29:33 AM  102    27411      0.00    84.42      0.00      0  mysqld
Average:      UID      PID  kB_rd/s  kB_wr/s kB_ccwr/s iodelay  Command
Average:        0      259      0.00      4.02      0.00      0  jbd2/vda1-8
Average:      999    12264      0.00      2.01      0.00      0  mongod
Average:      102    27411      0.00    84.42      0.00      0  mysqld
[root@rver ~]# pidstat -d 2 1
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/28/2019      _x86_64_        (1 CPU)
09:29:07 AM  UID      PID  kB_rd/s  kB_wr/s kB_ccwr/s iodelay  Command
赞美老师的话09:29:09 AM    0      259      0.00    133.33      0.00      14  jbd2/vda1-8
09:29:09 AM    0      4465      0.00  1432.84      0.00      7  loop2
09:29:09 AM    0      4537      0.00      0.00      0.00      18  stress
09:29:09 AM  999    12264      0.00      7.96      0.00      0  mongod
09:29:09 AM    0    18768      0.00      1.99      0.00      0  AliYunDun
09:29:09 AM    0    27341      0.00    159.20      0.00      0  java
09:29:09 AM  102    27411      0.00      1.99      0.00      0  mysqld
Average:      UID      PID  kB_rd/s  kB_wr/s kB_ccwr/s iodelay  Command
Average:        0      259      0.00    133.33      0.00      14  jbd2/vda1-8
Average:        0      4465      0.00  1432.84      0.00      7  loop2
Average:        0      4537      0.00      0.00      0.00      18  stress
Average:      999    12264      0.00      7.96      0.00      0  mongod
Average:        0    18768      0.00      1.99      0.00      0  AliYunDun
Average:        0    27341      0.00    159.20      0.00      0  java
Average:      102    27411      0.00      1.99      0.00      0  mysqld
(3)使⽤-w选项显⽰进程的上下⽂切换情况
[root@rver ~]# pidstat -w 2 1
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/28/2019      _x86_64_        (1 CPU)
井陉拉花
10:31:28 AM  UID      PID  cswch/s nvcswch/s  Command
10:31:30 AM    0        1      0.51      0.00  systemd
10:31:30 AM    0        3      8.63      0.00  ksoftirqd/0
10:31:30 AM    0        9    36.04      0.00  rcu_sched
形容词短语>日本特色
10:31:30 AM    0      259      7.61      0.00  jbd2/vda1-8
爱好是什么意思10:31:30 AM    81      445      0.51      0.00  dbus-daemon
10:31:30 AM    0      450      0.51      0.00  systemd-logind
10:31:30 AM    0      869      1.02      0.00  httpd
•  cswch/s :表⽰每秒⾃愿上下⽂切换的次数
•  nvcswch/s :表⽰每秒⾮⾃愿上下⽂切换的次数
注:所谓⾃愿上下⽂切换,是指进程⽆法获得所需的资源导致的上下⽂切换。
⽽⾮⾃愿上下⽂切换,则是指进程由于cpu分配的时间⽚耗尽,被系统强制调度导致的上下⽂切换 
(4)使⽤-t和-p选项显⽰指定进程的线程
[root@rver ~]# pidstat -t -p 28163
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/28/2019      _x86_64_        (1 CPU)
11:09:23 AM  UID      TGID      TID    %usr %system  %guest  %wait    %CPU  CPU  Command 11:09:23 AM    0    28163        -    0.01    0.00    0.00    0.00    0.01    0  rancher-catalog
11:09:23 AM    0        -    28163    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    28165    0.00    0.00    0.00    0.02    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    28166    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    28296    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    28519    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    28801    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    28807    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog 11:09:23 AM    0        -    29381    0.00    0.00    0.00    0.00    0.00    0  |__rancher-catalog
•  TGID:主线程id
•  TID:线程id
(5)使⽤-C和-G选项显⽰符合匹配的进程
[root@rver ~]# pidstat -C java
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/28/2019      _x86_64_        (1 CPU)
11:31:31 AM  UID      PID    %usr %system  %guest  %wait    %CPU  CPU  Command
11:31:31 AM    0    27341    0.17    0.05    0.00    0.00    0.22    0  java
[root@rver ~]# pidstat -G java
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/28/2019      _x86_64_        (1 CPU)
11:31:34 AM  UID      PID    %usr %system  %guest  %wait    %CPU  CPU  Command
11:31:34 AM    0    27341    0.17    0.05    0.00    0.00    0.22    0  java
[root@rver ~]# pidstat -C j
Linux 3.10.0-514.26.2.el7.x86_64 (rver)      12/28/2019      _x86_64_        (1 CPU)
11:33:03 AM  UID      PID    %usr %system  %guest  %wait    %CPU  CPU  Command
11:33:03 AM    0      259    0.00    0.01    0.00    0.04    0.01    0  jbd2/vda1-8
11:33:03 AM    0      327    0.00    0.00    0.00    0.00    0.00    0  systemd-journal
11:33:03 AM    0    27341    0.17    0.05    0.00    0.00    0.22    0  java
两个选项作⽤效果基本⼀致。

本文发布于:2023-06-29 19:00:27,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1060487.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   内存   选项
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图