如何检查 Linux CPU 使用率或利用率

监控 CPU 的性能是任何需要测量系统性能的系统管理员的基本任务。 这将帮助我们调试系统进程、管理系统资源并做出系统决策。 有几种工具可用于检查 Linux 中的 CPU 使用情况。

在这篇文章中,我们将展示一些在 Linux 中检查和监控 CPU 使用率的方法。

先决条件

  • 云平台上的 Linux 服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu、CentOS 或 Rocky Linux 作为操作系统,至少 2GB RAM。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

或者

dnf update -y

1.使用top命令检查CPU使用率

Top 是一个非常有用的命令行工具,可以帮助我们实时监控所有正在运行的进程。 它将实时显示有关用户、任务、CPU 负载和内存使用情况的读数的信息。 默认情况下,top 命令每 5 秒更新一次数据。

现在,让我们开始使用 top 命令来监控 CPU 使用率:

top

我们应该在以下屏幕上看到所有正在运行的进程:
顶级命令

键入 P 以按 CPU 使用率对所有正在运行的进程进行排序。 我们应该看到以下屏幕:
按 CPU 使用率排序进程

键入 M 以按内存使用情况对所有正在运行的进程进行排序。 我们应该看到以下屏幕:
按内存使用情况排序进程

键入 I 隐藏所有空闲进程。 我们应该看到以下屏幕:
隐藏进程

键入 S 以按进程运行的时间对所有进程进行排序:
按运行时间排序进程

键入 U 以查看特定用户拥有的所有进程。 我们应该看到以下屏幕:
按拥有用户排序过程

2. 使用 Mpstat 命令检查 CPU 使用率

Mpstat 是 sysstat 包的一部分。

对于 Debian 或 Ubuntu 操作系统,我们可以使用以下命令安装它:

apt-get install sysstat -y

对于 CentOS 或 RHEL 操作系统,我们可以使用以下命令安装它:

yum install sysstat -y

现在,不带任何选项运行 mpstat 命令。 这将显示每个处理器的使用情况:

mpstat

样本输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

12:28:46  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:28:46  IST  all   18.30    0.01    3.44    8.26    0.00    0.16    0.00    0.00    0.00   69.82

要显示第一个处理器的报告,请运行:

mpstat -P 0

样本输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

12:29:35  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:29:35  IST    0   18.16    0.01    3.94    8.68    0.00    0.27    0.00    0.00    0.00   68.93

要显示所有处理器的报告,请运行:

mpstat -P ALL

样本输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

12:45:50  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:45:50  IST  all   16.38    0.01    3.11    7.33    0.00    0.15    0.00    0.00    0.00   73.02
12:45:50  IST    0   16.28    0.01    3.58    7.76    0.00    0.25    0.00    0.00    0.00   72.12
12:45:50  IST    1   16.25    0.01    3.06    7.10    0.00    0.05    0.00    0.00    0.00   73.52
12:45:50  IST    2   16.38    0.01    2.87    7.39    0.00    0.24    0.00    0.00    0.00   73.11
12:45:50  IST    3   16.60    0.01    2.93    7.07    0.00    0.06    0.00    0.00    0.00   73.34

以 2 秒为间隔显示 3 次平均 CPU 使用率:

mpstat -P ALL 2 3

样本输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

12:47:58  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:48:00  IST  all   23.30    0.00    4.99    4.74    0.00    0.00    0.00    0.00    0.00   66.97
12:48:00  IST    0   29.02    0.00    5.18    6.74    0.00    0.00    0.00    0.00    0.00   59.07
12:48:00  IST    1   26.53    0.00    6.12    4.59    0.00    0.51    0.00    0.00    0.00   62.24
12:48:00  IST    2   22.96    0.00    3.57    2.04    0.00    0.00    0.00    0.00    0.00   71.43
12:48:00  IST    3   14.14    0.00    5.05    5.56    0.00    0.00    0.00    0.00    0.00   75.25

12:48:00  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:48:02  IST  all   21.58    0.00    5.87    5.11    0.00    0.13    0.00    0.00    0.00   67.31
12:48:02  IST    0   25.13    0.00    9.23    9.23    0.00    0.51    0.00    0.00    0.00   55.90
12:48:02  IST    1   28.72    0.00    7.18    8.21    0.00    0.00    0.00    0.00    0.00   55.90
12:48:02  IST    2   18.88    0.00    3.06    1.53    0.00    0.00    0.00    0.00    0.00   76.53
12:48:02  IST    3   13.85    0.00    4.10    1.03    0.00    0.00    0.00    0.00    0.00   81.03

12:48:02  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:48:04  IST  all   24.78    0.00    5.11    5.87    0.00    0.13    0.00    0.00    0.00   64.11
12:48:04  IST    0   30.37    0.00    3.66   10.47    0.00    0.00    0.00    0.00    0.00   55.50
12:48:04  IST    1   27.78    0.00    6.06    9.09    0.00    0.00    0.00    0.00    0.00   57.07
12:48:04  IST    2   23.23    0.00    5.56    1.01    0.00    0.00    0.00    0.00    0.00   70.20
12:48:04  IST    3   17.86    0.00    5.10    3.57    0.00    0.51    0.00    0.00    0.00   72.96

Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all   23.22    0.00    5.33    5.24    0.00    0.09    0.00    0.00    0.00   66.13
Average:       0   28.15    0.00    6.04    8.81    0.00    0.17    0.00    0.00    0.00   56.82
Average:       1   27.67    0.00    6.45    7.30    0.00    0.17    0.00    0.00    0.00   58.40
Average:       2   21.69    0.00    4.07    1.53    0.00    0.00    0.00    0.00    0.00   72.71
Average:       3   15.28    0.00    4.75    3.40    0.00    0.17    0.00    0.00    0.00   76.40

3. 使用sar命令检查CPU使用率

sar 命令还用于收集和报告系统活动信息。

我们可以使用带有 -u 选项的 sar 命令来跟踪 CPU 性能。 以下命令将每 2 秒显示一次 CPU 使用率。

sar -u 2

样本输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

12:53:26  IST     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:53:28  IST     all      5.30      0.00      2.02      2.52      0.00     90.16
12:53:30  IST     all      2.90      0.00      1.39      1.13      0.00     94.58
12:53:32  IST     all      3.57      0.00      2.04      0.76      0.00     93.63

上述命令将无限期运行。 我们可以使用 CTRL+C 停止它。

4.使用iostat命令检查CPU使用率

iostat 显示有关设备利用率的信息以及自上次重新启动以来系统的平均 CPU 利用率。

运行不带任何选项的 iostat 命令将显示有关 CPU 利用率、设备利用率和网络文件系统利用率的信息。

iostat

我们应该看到以下输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          16.41    0.01    3.31    6.83    0.00   73.44

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
loop0             0.01         0.04         0.00        373          0
loop1             0.01         0.04         0.00        387          0
loop2             2.59         2.62         0.00      23279          0
loop3             0.00         0.01         0.00        116          0
loop4             0.01         0.02         0.00        143          0
loop5            28.67        28.70         0.00     255344          0
loop6             0.01         0.04         0.00        385          0
loop7             0.00         0.01         0.00        121          0
sda              34.36       383.67       600.72    3413776    5345096

使用 -c 选项将 CPU 利用率分为用户进程、系统进程、I/O 等待和空闲时间。

iostat -c

样本输出:

Linux 4.4.0-148-generic (newpc) 	Monday 23 August 2021 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          16.40    0.01    3.31    6.82    0.00   73.46

5. 使用 vmstat 命令检查 CPU 使用率

vmstat 命令将显示有关系统进程、内存、交换、I/O 和 CPU 性能的信息。 它将显示自上次重新启动以来的平均详细信息。

运行不带任何选项的 vmstat 命令,如下所示:

vmstat

样本输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  1 1028672 130972 124344 1212276   19   71   101   150  341  818 17  3 73  7  0

以下命令将每 2 秒更新一次 vmstat 报告:

vmstat 2

样本输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  1 1032572 233396 125196 1129256   19   70   100   149  345  830 17  3 73  7  0
 2  0 1032572 232976 125212 1129596    0    0     0   112 3051 8697 40 10 42  8  0
 0  1 1032572 233040 125224 1130468    0    0     0  1510 3109 8631 43  9 41  8  0

按 CTRL+C 关闭 vmstat。

在上面的指南中,我们解释了在 Linux 中检查 CPU 使用率的不同方法。 这些工具可以帮助我们跟踪处理器使用情况和系统性能。 今天就从 Altantic.Net 在我们的 VPS 上试一试。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论