您的位置:首页 > 运维架构 > Linux

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

2018-01-30 10:09 573 查看

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[/code] 
其中-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与内存性能监测
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息