功能
pidstat命令用于监视当前由Linux内核管理的单个任务。
它为使用选项-p选择的每个任务或Linux内核管理的每个任务(如果使用了选项-p ALL)写入标准输出。
不选择任何任务相当于指定-p ALL,但报告中将只显示活动任务(统计值非零的任务)。
命令参数
参数 |
用途/含义 |
u |
默认参数, 显示进程的CPU利用率. |
R |
报告实时优先级和调度策略信息。 |
s |
报告堆栈利用率。 |
t |
选定任务关联的线程的统计信息。 |
U |
显示正在监视的任务的真实用户名,而不是UID。如果指定了用户名,则仅显示属于指定用户的任务。 |
v |
报告内核表的值。 |
p |
指定Pid,默认情况下为ALL |
l |
显示命令的名称,包括它的全部参数 |
C |
仅显示Command中包含匹配字符串的进程 |
d |
报告I/O统计信息 |
G |
显示符合匹配进程名字的进程 |
输出字段含义
- 用户态 CPU 使用率 (%usr);
- 内核态 CPU 使用率(%system);
- 运行虚拟机 CPU 使用率(%guest);
- 等待 CPU 使用率(%wait);
- 以及总的 CPU 使用率(%CPU)。
- 任务每秒发生的次要故障总数,这些故障不需要从磁盘加载内存页。(minflt/s)
- 任务每秒发生的主要故障总数,这些故障不需要从磁盘加载内存页。(minflt/s)
- 任务当前使用的可用物理内存共享。(%MEM)
- 任务及其所有子任务在时间间隔内发生并收集的次要故障总数。(minflt-nr)
- 任务及其所有子任务在时间间隔内发生并收集的主要故障总数。(majflt-nr)
- 作为堆栈为任务保留但不一定使用的内存量(以KB为单位)。(StkSize)
- 任务引用的用作堆栈的内存量(以KB为单位)。(StkRef)
- 线程组长的标识号。(TGID)
- 被监听线程的识别号(TID)
- 自愿上下文的总数切换每秒完成的任务。当任务块需要不可用的资源时,会发生自愿上下文切换。(cswch/s)
- 非自愿上下文的总数切换每秒完成的任务。当任务在其时间片的持续时间内执行并且然后被迫放弃处理器时,发生非自愿上下文切换。(nvcswch/s)
使用案例
统计进程内存和线程的使用情况(以人类可阅读的方式)
1 2 3 4 5 6 7 8 9 10
| [root@containerd ~] Linux 4.18.0-305.19.1.el8_4.x86_64 (containerd) 01/02/22 _x86_64_ (4 CPU)
12:47:40 UID TGID TID minflt/s majflt/s VSZ RSS %MEM Command 12:47:42 0 94608 - 514.85 0.00 16.4M 11.2M 0.1% pidstat 12:47:42 0 - 94608 514.85 0.00 16.4M 11.2M 0.1% |__pidstat
Average: UID TGID TID minflt/s majflt/s VSZ RSS %MEM Command Average: 0 94608 - 514.85 0.00 16.4M 11.2M 0.1% pidstat Average: 0 - 94608 514.85 0.00 16.4M 11.2M 0.1% |__pidstat
|
统计进程IO
1 2 3 4 5 6 7 8
| [root@containerd ~] Linux 4.18.0-305.19.1.el8_4.x86_64 (containerd) 01/02/22 _x86_64_ (4 CPU)
12:52:01 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command 12:52:03 0 94584 0.00 0.00 0.00 1 kworker/0:0-mm_percpu_wq
Average: UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command Average: 0 94584 0.00 0.00 0.00 1 kworker/0:0-mm_percpu_wq
|
进程上下文切换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| [root@containerd ~] Linux 4.18.0-305.19.1.el8_4.x86_64 (containerd) 01/02/22 _x86_64_ (4 CPU)
12:53:27 UID PID cswch/s nvcswch/s Command 12:53:29 0 11 17.91 0.00 rcu_sched 12:53:29 0 13 0.50 0.00 watchdog/0 12:53:29 0 16 0.50 0.00 watchdog/1 12:53:29 0 22 0.50 0.00 watchdog/2 12:53:29 0 28 0.50 0.00 watchdog/3 12:53:29 0 46 1.00 0.00 khugepaged 12:53:29 0 931 0.50 0.00 irqbalance 12:53:29 0 42883 10.95 0.00 vmtoolsd 12:53:29 0 57780 0.50 0.00 sssd 12:53:29 0 94581 1.99 0.00 kworker/3:1-events_freezable 12:53:29 0 94584 20.90 0.00 kworker/0:0-events_power_efficient 12:53:29 0 94596 1.99 0.00 kworker/1:2-events_power_efficient 12:53:29 0 94611 0.50 0.00 kworker/2:1-events_power_efficient 12:53:29 0 94640 0.50 0.00 kworker/0:2-ata_sff 12:53:29 0 94669 0.50 0.00 pidstat
Average: UID PID cswch/s nvcswch/s Command Average: 0 11 17.91 0.00 rcu_sched Average: 0 13 0.50 0.00 watchdog/0 Average: 0 16 0.50 0.00 watchdog/1 Average: 0 22 0.50 0.00 watchdog/2 Average: 0 28 0.50 0.00 watchdog/3 Average: 0 46 1.00 0.00 khugepaged Average: 0 931 0.50 0.00 irqbalance Average: 0 42883 10.95 0.00 vmtoolsd Average: 0 57780 0.50 0.00 sssd Average: 0 94581 1.99 0.00 kworker/3:1-events_freezable Average: 0 94584 20.90 0.00 kworker/0:0-events_power_efficient Average: 0 94596 1.99 0.00 kworker/1:2-events_power_efficient Average: 0 94611 0.50 0.00 kworker/2:1-events_power_efficient Average: 0 94640 0.50 0.00 kworker/0:2-ata_sff Average: 0 94669 0.50 0.00 pidstat
|
查看指定进程和他的派生线程的状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| [root@containerd ~] Linux 4.18.0-305.19.1.el8_4.x86_64 (containerd) 01/02/22 _x86_64_ (4 CPU)
12:54:16 UID TGID TID %usr %system %guest %wait %CPU CPU Command 12:54:18 0 1021 - 0.00 0.00 0.00 0.00 0.00 1 containerd 12:54:18 0 - 1021 0.00 0.00 0.00 0.00 0.00 1 |__containerd 12:54:18 0 - 1050 0.00 0.00 0.00 0.00 0.00 0 |__containerd 12:54:18 0 - 1051 0.00 0.00 0.00 0.00 0.00 0 |__containerd 12:54:18 0 - 1052 0.00 0.00 0.00 0.00 0.00 2 |__containerd 12:54:18 0 - 1053 0.00 0.00 0.00 0.00 0.00 2 |__containerd 12:54:18 0 - 1054 0.00 0.00 0.00 0.00 0.00 3 |__containerd 12:54:18 0 - 1077 0.00 0.00 0.00 0.00 0.00 3 |__containerd 12:54:18 0 - 1091 0.00 0.00 0.00 0.00 0.00 0 |__containerd 12:54:18 0 - 1092 0.00 0.00 0.00 0.00 0.00 0 |__containerd 12:54:18 0 - 1125 0.00 0.00 0.00 0.00 0.00 3 |__containerd 12:54:18 0 - 1127 0.00 0.00 0.00 0.00 0.00 2 |__containerd
Average: UID TGID TID %usr %system %guest %wait %CPU CPU Command Average: 0 1021 - 0.00 0.00 0.00 0.00 0.00 - containerd Average: 0 - 1021 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1050 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1051 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1052 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1053 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1054 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1077 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1091 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1092 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1125 0.00 0.00 0.00 0.00 0.00 - |__containerd Average: 0 - 1127 0.00 0.00 0.00 0.00 0.00 - |__containerd
|