关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

查看Linux服务器进程的CPU平均利用率?

发布时间:2023/11/10 17:43:11
香港云服务器

有时你可能想知道Linux服务器中某个进程的CPU使用率。由于一个进程的CPU使用率在其生命周期内可能会有波动,因此通常是查看的该进程的CPU平均使用率或CPU利用率。sysstat工具集合包含了Linux的性能监控工具集合,报告磁盘I/O、CPU、内存、网络和其他系统活动的统计数据。sysstat中包含的一个实用程序是pidstat,它可以测量Linux进程的平均CPU使用率。

下面让我们来了解一下如何使用pidstat工具测量Linux服务器中某个进程的平均CPU使用率,或者所有可用Linux进程的进程级CPU使用率。

在Linux服务器上安装sysstat

为了使用pidstat,你需要安装sysstat包,如下所示。

在Ubuntu、Debian或Linux Mint上安装sysstat:

$ sudo apt install sysstat

在CentOS、RHEL或Fedora上安装sysstat:

$ sudo yum install sysstat

从源码中构建sysstat

如果你的Linux系统上没有sysstat包,你可以很容易地从源码中构建它,如下所示。

$ tar -xf sysstat-12.5.3.tar.gz

$ cd sysstat-12.5.3/

$ ./configure

$ make

$ sudo make install

使用用pidstat测量一个进程的平均CPU使用率。

安装了sysstat之后,可以使用pidstat来测量Linux进程的平均CPU使用率,具体如下。

$ pidstat 5 -p 11579

在这个例子中,我检测了一个PID为11579的Linux进程的平均CPU使用量,测量时间间隔为5秒。这条命令将每五秒刷新一次CPU平均使用率。如果按Ctrl-C键,命令将退出,并打印出整体的平均CPU使用量。输出显示进程平均消耗了5.5%的单个CPU核。%CPU旁边的CPU字段表示进程所连接的CPU处理器ID(如果系统上有多个CPU处理器)。%usr和%system两栏分别表示CPU有多少是在用户空间或内核中执行的。

注意,你需要提供间隔参数(例如,5),它指定了每次报告之间的时间间隔,以秒为单位。如果没有间隔参数,pidstat报告的%CPU将是自系统启动(启动)以来的平均CPU使用率。

使用pidstat测量系统中进程级CPU的使用情况。

如果您想测量所有正在运行的进程的CPU使用率,您可以简单地在pidstate中使用-p ALL选项。

$ pidstat 60 -p ALL

上面的命令将每分钟报告所有正在运行的进程的平均CPU使用率。

如果你想把pidstat的输出送入shell脚本,你可以使用下面的bash脚本。这个脚本可以测量整个系统的进程级平均CPU使用量(一分钟内的平均值)。

#!/bin/bash

output=$(timeout 60.1 pidstat 60 -p ALL)

IFS='

'

for line in $output; do

    # extract N-th column with awk

    pid=`echo $line | awk '{ print $4}'`    # PID

    pcpu=`echo $line | awk '{ print $9}'`   # percentage CPU

    cpu=`echo $line | awk '{ print $10}'`   # CPU ID

    cmd=`echo $line | awk '{ print $11}'`   # command

    echo "$pid $pcpu $cpu $cmd"

done

至此,如何查看Linux服务器进程的CPU平均利用率就完成了,希望对您有所帮助。