1、安装pidstat工具
首先确保您的系统中已安装sysstat包,该包包含了pidstat工具。对于基于Debian的系统,可以通过以下命令安装:
sudo apt-get install sysstat
2、监测指定进程名的所有线程CPU使用率
使用以下命令可以查看名为mono的所有线程的CPU使用情况:
pidstat | grep mono
这将返回如下格式的数据:
06:41:50 PM 8002 85748 15.24 13.33 0.00 28.57 62 mono
06:41:50 PM 8002 85765 9.52 12.38 0.00 21.90 5 mono
06:41:50 PM 8002 85782 34.29 16.19 0.00 50.48 40 mono
06:41:50 PM 8002 85799 32.38 16.19 0.00 48.57 71 mono
06:41:50 PM 8002 85824 33.33 17.14 0.00 50.48 76 mono
3、监控特定线程的CPU利用率
若想专注于某个特定线程的CPU使用情况,可以使用以下命令,这里以PID为86935的线程为例:
pidstat -u -p 86935 1 5
输出结果如下:
06:49:46 PM UID PID %usr %system %guest %CPU CPU Command
06:49:47 PM 8002 86935 31.00 15.00 0.00 46.00 61 mono
06:49:48 PM 8002 86935 30.00 20.00 0.00 50.00 36 mono
06:49:49 PM 8002 86935 27.00 18.00 0.00 45.00 71 mono
06:49:50 PM 8002 86935 28.00 21.00 0.00 49.00 34 mono
06:49:51 PM 8002 86935 28.00 18.00 0.00 46.00 74 mono
Average: 8002 86935 28.80 18.40 0.00 47.20 - mono
4、监测特定线程的内存使用情况
使用以下命令可以获取特定线程的内存使用详情,例如针对PID为86935的线程:
pidstat -r -p 86935 1 5
输出结果:
06:45:41 PM UID PID minflt/s majflt/s VSZ RSS %MEM Command
06:45:42 PM 8002 86935 0.00 0.00 9432840 2120992 0.80 mono
06:45:43 PM 8002 86935 0.00 0.00 9432840 2120992 0.80 mono
06:45:44 PM 8002 86935 0.00 0.00 9432840 2120992 0.80 mono
06:45:45 PM 8002 86935 0.00 0.00 9432840 2120992 0.80 mono
06:45:46 PM 8002 86935 0.00 0.00 9432840 2120992 0.80 mono
Average: 8002 86935 0.00 0.00 9432840 2120992 0.80 mono
5、监测特定线程的磁盘I/O活动
若需了解特定线程的磁盘读写情况,可使用以下命令,此处同样以PID为86935的线程为例:
pidstat -d -p 86935 1 5
输出示例:
06:51:26 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command
06:51:27 PM 8002 86935 0.00 0.00 0.00 0 mono
06:51:28 PM 8002 86935 0.00 4.00 0.00 0 mono
06:51:29 PM 8002 86935 0.00 0.00 0.00 0 mono
06:51:30 PM 8002 86935 0.00 0.00 0.00 0 mono
06:51:31 PM 8002 86935 0.00 0.00 0.00 0 mono
Average: 8002 86935 0.00 0.80 0.00 0 mono
6、监测特定线程的上下文切换频率
最后,为了评估线程的调度效率,可以监测其上下文切换次数。使用以下命令查看PID为86935的线程:
pidstat -w -p 86935 1 5
输出示例:
06:37:03 PM UID PID cswch/s nvcswch/s Command
06:37:04 PM 8002 86935 35.00 2.00 mono
06:37:05 PM 8002 86935 34.00 2.00 mono
06:37:06 PM 8002 86935 35.00 2.00 mono
06:37:07 PM 8002 86935 33.00 0.00 mono
06:37:08 PM 8002 86935 34.00 0.00 mono