一、功能
监控进程占用系统资源使用情况,如CPU,内存、设备IO、任务切换、线程等
二、使用
1.查看使用方式说明
man pidstat
2.每隔1s打印一次
pidstat 1
3.统计10次, 每隔2s打印一次
pidstat 2 10
4.cpu统计,默认-u
[root@k8s ~]# pidstat -u 2 10 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/20/2023 _x86_64_ (4 CPU) 11:35:55 PM UID PID %usr %system %guest %CPU CPU Command 11:35:57 PM 0 433 0.00 0.50 0.00 0.50 0 xfsaild/dm-0 11:35:57 PM 0 1167 1.99 2.99 0.00 4.98 1 kubelet 11:35:57 PM 0 8324 0.00 0.50 0.00 0.50 1 xfsaild/sdb1 11:35:57 PM 1001 8393 0.00 0.50 0.00 0.50 3 operator 11:35:57 PM 0 8638 0.00 0.50 0.00 0.50 0 containerd
字段说明:
UID: 用户id
PID: 进程id
%usr:用户态cpu
%system: 内核cpu
%guest:运行虚拟处理器cpu使用率
%wait:进程等待运行cpu使用率
%cpu: 总cpu使用率
cpu:进程在哪个cpu运行
command: 进程命令行
5.活跃进程io读写情况
[root@k8s ~]# pidstat -d 2 10 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/20/2023 _x86_64_ (4 CPU) 11:43:07 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command 11:43:09 PM 0 91087 0.00 3.96 0.00 prometheus 11:43:09 PM 0 130214 0.00 31.68 0.00 etcd
字段说明:
kB_rd/s:每秒读KB数
kB_wr/s: 每秒写KB数
kB_ccwr/s:每秒取消写入的KB
iodelay: io的延迟
6.进程上下文切换
[root@k8s ~]# pidstat -w 1 5 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/20/2023 _x86_64_ (4 CPU) 11:48:04 PM UID PID cswch/s nvcswch/s Command 11:48:05 PM 0 6 4.90 0.00 ksoftirqd/0 11:48:05 PM 0 9 121.57 0.00 rcu_sched 11:48:05 PM 0 14 4.90 0.00 ksoftirqd/1 11:48:05 PM 0 19 2.94 0.00 ksoftirqd/2
字段说明:
cswch/s: 每秒自愿上下文切换次数
nvcswch/s: 每秒非自愿上下文切换次数
7.活跃进程内存使用情况
[root@k8s ~]# pidstat -r 1 5 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/20/2023 _x86_64_ (4 CPU) 11:50:17 PM UID PID minflt/s majflt/s VSZ RSS %MEM Command 11:50:18 PM 0 9019 0.00 0.00 712632 15744 0.20 containerd-shim 11:50:18 PM 0 80020 281.19 0.00 108528 1180 0.01 pidstat 11:50:18 PM 0 91087 1.98 0.00 2059072 235940 2.95 prometheus 11:50:18 PM 0 130214 13.86 0.00 11215796 70008 0.88 etcd
字段说明:
minflt/s: 每秒不需要从磁盘加载内存页面的次要故障总数
majflt/s: 每秒需要从磁盘加载内存页面的主要故障总数
VSZ: 进程使用的虚拟内存大小(KB)
RSS: 进程使用非交换区里的物理内存(kB)
%MEM: 物理内存使用百分比
8.堆栈利用率
[root@k8s ~]# pidstat -s 1 2 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/20/2023 _x86_64_ (4 CPU) 11:57:50 PM UID PID StkSize StkRef Command 11:57:51 PM 0 40993 132 20 containerd-shim 11:57:51 PM 0 86226 132 16 pidstat 11:57:51 PM 65534 90993 132 12 alertmanager
字段说明:
StkSize: 进程保留堆栈的内存量(KB)
StkRef: 进程利用堆栈的内存量(KB)
9.显示用户名
[root@k8s ~]# pidstat -U 1 2 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/21/2023 _x86_64_ (4 CPU) 12:01:12 AM USER PID %usr %system %guest %CPU CPU Command 12:01:13 AM root 1167 5.88 3.92 0.00 9.80 1 kubelet 12:01:13 AM root 9160 0.00 1.96 0.00 1.96 3 calico-node
10. 指定进程号
[root@k8s ~]# pidstat -p 130119 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/21/2023 _x86_64_ (4 CPU) 12:02:04 AM UID PID %usr %system %guest %CPU CPU Command 12:02:04 AM 0 130119 4.90 2.62 0.00 7.52 1 kube-apiserver
11. 进程关联的线程统计
[root@k8s ~]# pidstat -p 130119 -t Linux 3.10.0-1160.el7.x86_64 (k8s) 10/21/2023 _x86_64_ (4 CPU) 12:02:59 AM UID TGID TID %usr %system %guest %CPU CPU Command 12:02:59 AM 0 130119 - 4.90 2.62 0.00 7.52 1 kube-apiserver 12:02:59 AM 0 - 130119 0.00 0.00 0.00 0.00 1 |__kube-apiserver 12:02:59 AM 0 - 130147 0.12 0.60 0.00 0.72 3 |__kube-apiserver 12:02:59 AM 0 - 130148 0.00 0.00 0.00 0.00 3 |__kube-apiserver 12:02:59 AM 0 - 130149 0.00 0.00 0.00 0.00 1 |__kube-apiserver 12:02:59 AM 0 - 130151 0.00 0.00 0.00 0.00 3 |__kube-apiserver 12:02:59 AM 0 - 130152 0.00 0.00 0.00 0.00 2 |__kube-apiserver 12:02:59 AM 0 - 130158 0.00 0.00 0.00 0.00 0 |__kube-apiserver 12:02:59 AM 0 - 130167 0.00 0.00 0.00 0.00 2 |__kube-apiserver 12:02:59 AM 0 - 130168 0.00 0.00 0.00 0.00 0 |__kube-apiserver 12:02:59 AM 0 - 130578 0.73 0.38 0.00 1.12 0 |__kube-apiserver 12:02:59 AM 0 - 130579 0.00 0.00 0.00 0.00 0 |__kube-apiserver 12:02:59 AM 0 - 130580 0.74 0.39 0.00 1.13 3 |__kube-apiserver 12:02:59 AM 0 - 130581 0.64 0.33 0.00 0.98 1 |__kube-apiserver 12:02:59 AM 0 - 130582 0.74 0.39 0.00 1.13 2 |__kube-apiserver 12:02:59 AM 0 - 130583 0.76 0.40 0.00 1.16 0 |__kube-apiserver 12:02:59 AM 0 - 4715 0.39 0.22 0.00 0.61 2 |__kube-apiserver 12:02:59 AM 0 - 30163 0.45 0.22 0.00 0.67 1 |__kube-apiserver
12.其他常用相关参数
显示详细的进程命令 [root@k8s ~]# pidstat -l 1 2 Linux 3.10.0-1160.el7.x86_64 (k8s) 10/21/2023 _x86_64_ (4 CPU) 12:04:21 AM UID PID %usr %system %guest %CPU CPU Command 12:04:22 AM 0 1167 0.98 1.96 0.00 2.94 1 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cgro 12:04:22 AM 0 9160 0.00 1.96 0.00 1.96 3 calico-node -felix 12:04:22 AM 0 10262 0.98 0.00 0.00 0.98 2 /coredns -conf /etc/coredns/Corefile
友好输出
--human
标签:11,02,12,--,0.00,AM,pidstat,常用命令,PM From: https://www.cnblogs.com/aroin/p/17782450.html