如何在 Linux 中检查 CPU 策略(governor)是否处于活动状态

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本次实验中,你将学习如何在 Linux 系统中检查活动的 CPU 频率调节策略(governor)。我们将探讨两种主要方法:使用 cpufreq-info 命令和查看 /sys/devices/system/cpu 目录下的系统文件。

你将首先安装必要的工具,然后使用 cpufreq-info 命令来确定当前的策略(governor)和可用选项。随后,你将通过检查 /sys 文件系统中的相关文件来验证这些信息。最后,你将使用 cat /proc/cpuinfo 命令进一步了解 CPU 的详细信息。本次实验将让你掌握理解和验证 CPU 电源管理设置的知识。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cp("File Copying") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/ls -.-> lab-558704{{"如何在 Linux 中检查 CPU 策略(governor)是否处于活动状态"}} linux/cp -.-> lab-558704{{"如何在 Linux 中检查 CPU 策略(governor)是否处于活动状态"}} linux/cat -.-> lab-558704{{"如何在 Linux 中检查 CPU 策略(governor)是否处于活动状态"}} linux/cd -.-> lab-558704{{"如何在 Linux 中检查 CPU 策略(governor)是否处于活动状态"}} linux/apt -.-> lab-558704{{"如何在 Linux 中检查 CPU 策略(governor)是否处于活动状态"}} end

使用 cpufreq-info 检查策略(governor)

在这一步中,我们将探讨如何使用 cpufreq-info 命令来检查 CPU 频率调节策略(governor)。CPU 策略(governor)决定了 CPU 如何根据系统负载调整其速度(频率)。不同的策略(governor)会优先考虑性能或节能。

首先,我们需要安装 cpufrequtils 软件包,其中包含 cpufreq-info 命令。我们将使用 apt 来完成此操作。

如果你还没有打开终端,请打开它。你可以在桌面左侧找到 Xfce Terminal 图标。

输入以下命令来安装该软件包:

sudo apt update
sudo apt install cpufrequtils -y

sudo apt update 命令会刷新可用软件包的列表,而 sudo apt install cpufrequtils -y 则会安装 cpufrequtils 软件包。-y 标志会自动确认安装,无需手动确认。

安装完成后,你可以使用 cpufreq-info 来检查策略(governor)。

输入以下命令并按回车键:

cpufreq-info

你将看到类似以下的输出(具体细节可能因系统而异):

analysing CPU 0:
  driver: intel_pstate
  cpufreq usage: 0.00%
  ...
  available governors: performance powersave
  current policy: frequency 2.30 GHz, turbo boost 3.80 GHz
                  ...
  current CPU frequency: 2.30 GHz (asserted by call to hardware)
  ...

查找包含 available governors:current policy: 的行。这将告诉你有哪些可用的策略(governor)以及当前正在使用的是哪一个。常见的策略(governor)包括 performance(优先考虑速度)和 powersave(优先考虑节能)。

了解 CPU 策略(governor)对于优化系统性能和功耗非常重要。

点击 继续 进入下一步。

在 /sys/devices/system/cpu 中验证策略(governor)

在上一步中,我们使用 cpufreq-info 命令查看了 CPU 策略(governor)。Linux 还通过 /sys 文件系统公开系统信息。这个文件系统提供了对内核数据结构的视图。

我们可以在 /sys/devices/system/cpu 目录中找到有关 CPU 策略(governor)的信息。该目录包含每个 CPU 核心的子目录(例如,cpu0cpu1 等)。

让我们导航到第一个 CPU 核心的目录 cpu0。我们将使用 cd 命令来切换目录。

输入以下命令并按回车键:

cd /sys/devices/system/cpu/cpu0/cpufreq

现在我们已经进入了 /sys/devices/system/cpu/cpu0/cpufreq 目录,可以列出文件以查看有哪些可用信息。使用 ls 命令:

ls

你将看到一个文件列表,其中包括 scaling_governor。这个文件包含了该核心当前活动的 CPU 策略(governor)的名称。

要查看 scaling_governor 文件的内容,我们将使用 cat 命令。

输入以下命令并按回车键:

cat scaling_governor

输出将是当前策略(governor)的名称,例如:

powersave

这从系统的角度直接确认了策略(governor)的设置。

你可以探索该目录中的其他文件,以找到更多关于 CPU 频率设置的信息,例如使用 scaling_available_governors 查看该核心所有可用的策略(governor)。

当你完成对 /sys 目录的探索后,记得使用 cd 命令切换回你的主目录或 ~/project 目录。

cd ~/project

点击 继续 以进入下一步。

使用 cat /proc/cpuinfo 检查 CPU 详细信息

除了 /sys 文件系统,Linux 还通过 /proc 文件系统提供系统信息。这是另一个虚拟文件系统,可提供有关进程和其他系统信息的详细内容。

/proc/cpuinfo 文件包含了你系统中 CPU 的详细信息。让我们使用 cat 命令来查看其内容。

确保你处于主目录或 ~/project 目录中。如果不是,请使用 cd ~/project 命令导航到该目录。

输入以下命令并按回车键:

cat /proc/cpuinfo

你将看到大量输出,这些输出提供了每个 CPU 核心的详细信息。输出内容大致如下(具体细节会有所不同):

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 158
model name	: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
stepping	: 9
microcode	: 0x...
cpu MHz		: 2808.000
cache size	: 6144 KB
...

你可以在 /proc/cpuinfo 中找到的一些关键信息包括:

  • processor:CPU 核心的索引(从 0 开始)。
  • model name:CPU 的完整名称和速度。
  • cpu MHz:CPU 核心当前的速度,单位为 MHz。
  • cache size:CPU 缓存的大小。

你可以滚动输出内容,查看所有 CPU 核心的信息。这个文件是了解你系统 CPU 硬件规格的重要资源。

点击 继续 完成此实验。

总结

在本次实验中,我们学习了如何在 Linux 系统中检查当前活动的 CPU 策略(governor)。首先,我们使用 sudo apt updatesudo apt install cpufrequtils -y 命令安装了 cpufrequtils 软件包。安装完成后,我们使用 cpufreq-info 命令来显示详细的 CPU 频率信息,包括可用的和当前活动的策略(governor),例如 performancepowersave

接着,我们探索了验证策略(governor)的其他方法。这包括检查 /sys/devices/system/cpu 目录下的系统文件,该目录为内核信息提供了一个编程接口。最后,我们使用 cat /proc/cpuinfo 命令查看 CPU 的一般详细信息,虽然该命令不会直接显示策略(governor),但它能让你了解 CPU 本身的相关情况。了解 CPU 策略(governor)对于优化系统性能和电源效率至关重要。