使用pidstat命令测量程序CPU利用率和Mem占用率

1. 简介

pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔,它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的。
pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。

2. 安装

在Debian/Ubuntu系统中可以使用下面的命令来安装:
apt-get install sysstat
CentOS/Fedora/RHEL版本的linux中则使用下面的命令:
yum install sysstat

3. 常见参数

(1) 默认参数

指令:pidstat
作用:输出系统启动后所有活动进程的cpu统计信息。

(2) 指定采样周期和采样次数

指令:pidstat [option] interval [count]
例如:pidstat 2 10
作用:输出以2秒为采样周期,输出10次cpu使用统计信息

(3) cpu使用情况统计(-u)

指令:pidstat –u
作用:与单独执行”pidstat”的效果一样,显示cpu统计信息

(4) 内存使用情况统计(-r)

指令:pidstat –r
作用:显示各活动进程的内存使用统计

(5) IO情况统计(-d)

指令:pidstat –d
作用:显示进程IO的统计信息

(6) 特定进程统计(-p)

指令:pidstat –p {pid}
例子:pidstat –p 1
作用:查看特定进程的cpu统计信息

4. 综合使用

(1) 查看特定进程的CPU使用情况

指令:pidstat –u –p {pid} {interval} [count]
例子:pidstat -u –p `pgrep admin` 1 10
作用:以1秒为信息采集周期,采集10次程序“admin”的CPU统计信息,最后一行会输出10次统计信息的平均值。
注:如要测试服务器的CPU使用情况,同时应对此服务器进行模拟请求,如使用Apache的基准测试工具“ab”:
ab -n 1000 -c 10 –p post.txt http://localhost:8080/runLambda/node
其中-n表示请求数,-c表示并发数,-p post.txt表示将post.txt内的参数以post方式提交。

(2) 查看特定进程的Memory使用情况

指令:pidstat –r –p {pid} {interval} [count]
与4-(1)中类似

(3) 查看特定进程的IO使用情况

指令:pidstat –d –p {pid} {interval} [count]
与4-(1)中类似

参考:Linux中CPU与内存性能监测

猜你喜欢

转载自blog.csdn.net/qq_23599965/article/details/79202543