购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.3 如何通过pidstat发现性能问题

pidstat是针对Linux操作系统中某个进程进行资源监控的一个常用命令。使用该命令可以列出每个进程ID占用的资源情况,如图2-1-5所示。

图2-1-5

另外,还可以通过在pidstat命令后面增加数字参数来轮询获取资源使用的数据,例如执行pidstat 1 3可以轮询每隔1秒自动获取3个活动进程的CPU使用情况,如图2-1-6所示。

图2-1-6

执行pidstat后获得的性能监控指标的详细说明如表2-2所示。

表2-2 pidstat性能监控的指标及其含义

pidstat还支持其他的参数,我们可以通过执行pidstat --help命令查看它支持的其他参数,如图2-1-7所示。

图2-1-7

· pidstat -d:展示每个进程的I/O使用情况,如图2-1-8所示。进程的I/O的3个指标如表2-3所示。

图2-1-8

表2-3 进程I/O的3个指标及其含义

· pidstat -p:如果只需要查看指定进程ID的资源使用情况,可以通过-p参数来指定,例如执行pidstat -p 1533命令可以查看进程编号为1533的进程所占用的CPU资源情况,如图2-1-9所示。

图2-1-9

执行pidstat -d -p 1533可以查看进程编号为1533的进程的I/O使用情况,如图2-1-10所示。

图2-1-10

· pidstat -r:展示每个进程的内存使用情况,如图2-1-11所示。内存使用情况指标说明如表2-4所示。

图2-1-11

表2-4 每个进程的内存使用情况的指标及其含义

· pidstat -u:和执行pidstat命令获取的数据一致。

· pidstat -w:展示每个进程的CPU上下文切换次数,如图2-1-12所示。CPU上下文切换次数指标说明如表2-5所示。

图2-1-12

表2-5 每个进程的CPU上下文切换次数的指标及其含义

· pidstat-l:显示进程正在执行的命令以及该命令对应的所有参数,如图2-1-13所示。

图2-1-13

· pidstat -t:展示进程以及进程对应线程的资源使用情况,如图2-1-14所示。

图2-1-14

图2-1-14中的TGID表示的就是进程ID,而TID表示的是对应的进程ID下的线程ID。

例如,可以执行pidstat -r -t -p 1533来查看进程ID为1533的进程以及该进程对应的线程的内存使用情况,如图2-1-15所示。

图2-1-15

· pidstat -s:展示每个进程的堆栈使用情况,如图2-1-16所示。堆栈使用情况指标说明如表2-6所示。

图2-1-16

表2-6 每个进程堆栈使用情况的指标及其含义

· pidstat-U:展示进程的资源使用数据时同时展示进程ID对应的用户名称,如图2-1-17所示,在USER列可以看到用户的名称。

图2-1-17 s+xr51DCfTyog3Asd342waM/e4fGd8pWFiyEJjuKDavI4aH7JyuGVvvtfX6C+XDB

点击中间区域
呼出菜单
上一章
目录
下一章
×