如何在 Linux 中检查 CPU 利用率如何在 Linux 中检查 CPU 利用率如何在 Linux 中检查 CPU 利用率如何在 Linux 中检查 CPU 利用率
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 中检查 CPU 利用率

发表 admin at 2025年2月28日
类别
  • 未分类
标签

CPU的性能是系统性能的主要决定因素之一。为了确保充分利用有限的处理能力,有必要监控该资源的使用方式。监控 CPU 性能有助于调试进程、管理系统资源、做出系统决策以及实时评估系统。

在本指南中,了解如何检查 Linux 中的 CPU 利用率。

Linux 中的 CPU 利用率

CPU 是计算机提供的所有处理能力的主要来源。为了充分利用它,有必要管理和优化其使用。

现代操作系统经过优化,可以尽可能高效地使用 CPU。甚至其他应用程序也经过了相当优化。然而,用户可能并非如此。例如,就我而言,我在玩游戏时会打开数百个浏览器选项卡并运行多个后台任务。虽然所有软件都进行了优化,但我的使用方式会导致CPU负载较高。

如果多个用户登录,那么CPU使用率就会自动变高。然而,系统管理员可能希望密切关注它,以确保有人不会占用所有数据,从而导致整体系统性能和体验不佳。如果某个进程/应用程序导致 CPU 使用率过高,则它可能出现故障、出现错误,或者这就是它的本质。

有时,异常的 CPU 使用率也可能表明存在系统入侵。

根据所有这些信息,检查 CPU 利用率可能会非常有洞察力。

检查 Linux 中的 CPU 利用率

就 Linux 而言,有许多工具可以监控 CPU 使用情况。它具有各种内置系统调用来提取性能读数。有些工具预装在所有 Linux 发行版中,有些可能需要手动安装。

以下所有方法均在 Ubuntu 20.04.1 LTS 上进行演示。然而,它们在任何其他现代发行版上都可以正常工作。

使用top检查CPU利用率

使用top,您可以实时监控系统。它报告系统信息的简要摘要以及当前由 Linux 内核管理的进程和线程的列表。它还提供交互选项来修改其行为并执行各种操作。

最上面的工具可以显示CPU利用率。启动该工具。

$ top

在这里,要关注的关键是第三行。简要解释了输出值。每个值都解释了 CPU 执行某项操作所花费的时间量。

  • us:在“用户空间”中为人们运行进程所花费的时间。

  • sy:运行“内核空间”进程所花费的时间。

  • ni:使用自定义(手动设置)nice值运行进程所花费的时间。

  • id:闲置时间。

  • wa:等待 I/O 请求完成所花费的时间。

  • hi:服务硬件中断所花费的时间。

  • si:服务软件中断所花费的时间。

  • st:运行虚拟机所损失的时间,也称为“窃取时间”。

现在,您可以使用各种热键对进程列表进行排序和过滤。在这里,我描述了与 CPU 使用率相关的那些。

  • P:按CPU使用率对进程进行排序。

  • I:从列表中删除空闲进程。要恢复,请再次按“I”。

  • M:按内存使用情况对列表进行排序。

  • S:按进程运行时间对列表进行排序。

  • U:按所有者过滤进程。

  • K:杀死一个进程。需要进程的PID。

使用 htop 检查 CPU 利用率

Htop 和 top 本质上是相同的工具。它们在系统监控功能方面都提供相同的功能。然而,htop 提供了更好的生活质量体验。

htop 的默认显示使用起来更舒适。 UI比顶部更清晰。文字颜色丰富,看起来赏心悦目。它还提供水平和垂直滚动。

虽然大多数发行版默认安装了 top,但您必须手动安装 htop。最好使用 snap 安装 htop,因为它可以在任何 Linux 发行版上运行。假设您安装了 snappy(snap 包管理器),请运行以下命令。

$ sudo snap install htop

启动 htop。

$ htop

我不会进一步讨论任何内容,因为 htop 的用法与 top 相同。

使用 iostat 检查 CPU 利用率

iostat 工具报告 CPU 和 I/O 使用统计信息。这是一个具有简单输出的简单工具。但是,它只会报告该工具运行时的统计信息。与 top 或 htop 不同,iostat 不提供实时系统监控。

iostat 工具是 sysstat 包的一部分。它几乎可以在任何 Linux 发行版上使用。假设您已经安装了 sysstat 软件包,让我们继续。

启动 iostat。

$ iostat

有兴趣更深入的报告吗?使用“-c”标志查看用户进程、系统进程的 CPU 使用情况、I/O 等待和空闲时间。

$ iostat -c

使用标志“-x”进行扩展统计。标志“-t”将定义每个报告应显示的次数。

$ iostat -xtc 5 2

使用 mpstat 检查 CPU 利用率

mpstat 工具是 sysstat 软件包的一部分。该工具报告单个处理器或处理器内核的使用情况。

要使用 mpstat,您必须在系统中安装 sysstat 软件包。假设您已经安装了该软件包,让我们继续。

启动 mpstat。

$ mpstat

以下是这些值的含义。每个值都描述了某个级别的 CPU 使用率。

  • %usr:用户级CPU使用率。

  • %nice:“nice”用户进程的 CPU 使用率。

  • %sys:内核的 CPU 使用率。

  • %iowait:等待磁盘读/写。

  • %irq:处理硬件中断。

  • %soft:处理软件中断。

  • %steal:强制等待处理虚拟处理器的管理程序。

  • %guest:运行虚拟处理器。

  • %idle:处于空闲状态。

使用 sar 检查 CPU 利用率

sar 命令用于收集和报告系统活动信息。它提供了有关 CPU 利用率的简短报告。

我们可以使用 sar 以一定的时间间隔(以秒为单位)提供 CPU 信息。虽然它不是实时报告,但仍然更适合使用。

$ sar<interval_second>

在最后一个示例中,sar 将无限运行。我们可以定义 sar 将打印输出的实例数量。在下面的示例中,sar 将以 5 秒的间隔打印输出,共 10 次。

$ sar 5 10

使用 vmstat 检查 CPU 利用率

vmstat 工具报告各种系统信息,例如系统进程、内存、交换、CPU 性能和 I/O。

运行 vmstat。它将报告运行时的系统信息。

$ vmstat

与sar类似,vmstat可以以固定的时间间隔(以秒为单位)报告系统状态。

$ vmstat 3

在最后一步中,vmstat 将无限运行。要在固定时间段内运行 vmstat,请定义运行次数。这里,vmstat 会以 3 秒的间隔报告系统状态,共 10 次。

$ vmstat 3 10

使用 Glances 检查 CPU 利用率

Glances 是监控系统状态的强大工具。它是用 Python 编写的,使用 psutil 库来获取各种系统信息。 Glances 提供大量深入的系统信息,例如 CPU 监控、内存、网络使用情况、磁盘 I/O、进程和文件系统利用率等。请查看 GitHub 上的 Glances。

安装 Glances 是一项简单的任务。以下方法适用于任何 GNU/Linux 发行版。您所需要的只是在系统中安装curl 或wget。 Glances 将安装所有必要的依赖项。

$ curl -L https://bit.ly/glances | /bin/bash
$ wget -O- https://bit.ly/glances | /bin/bash

Glance 也可以作为快照包提供。假设您的系统中安装了 snappy(snap 包管理器),请从 Snapcraft 安装 Glances snap。查看 Snapcraft 概览。

 $ sudo snap install glances

使用 Glances 非常简单。要启动独立模式,请运行以下命令。

$ glances

Glances 还提供在 Web 服务器模式下运行。要启动网络服务器,请运行以下命令。

$ glances -w

要访问服务器,请访问以下 URL。

$ http://<IP_address>:61208

对于原始信息输出,Glances 可以将输出打印到 STDOUT。

 $ glances --stdout cpu.user,mem.used,load

最后的想法

有很多方法可以获取 CPU 利用率。虽然所有这些都工作得很好,但根据您的需要,您可能必须坚持使用其中的一些。如果您是系统管理员,那么掌握 top/htop 和 Glances 可以提供最大的灵活性。如果您只是想快速更新系统资源消耗,那么其他方法可以提供更好的体验。

检查 CPU 利用率很好而且很有用。然而,为了确保稳定性,有必要验证您的系统即使在最大压力下也能正常运行。查看一些有用的 Linux 应用程序来进行压力测试和 CPU 性能基准测试。

快乐计算!

©2015-2025 Norria support@norria.com