如何检查 Linux 系统中电源管理是否已配置

LinuxLinuxBeginner
立即练习

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

简介

在这个实验中,你将学习如何检查 Linux 系统上是否配置了电源管理。你将探索不同的方法来验证电源管理功能和设置。

具体来说,你将使用 pm-is-supported 命令来检查是否支持诸如待机到空闲(suspend-to-idle)、挂起(suspend)和休眠(hibernate)等电源状态。你还将检查 /sys/power 文件系统,以了解当前的电源状态和可用的电源选项。最后,你将检查 logind.conf 文件,以了解 systemd 的 logind 服务是如何为电源管理事件进行配置的。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") subgraph Lab Skills linux/cat -.-> lab-558801{{"如何检查 Linux 系统中电源管理是否已配置"}} linux/cd -.-> lab-558801{{"如何检查 Linux 系统中电源管理是否已配置"}} linux/which -.-> lab-558801{{"如何检查 Linux 系统中电源管理是否已配置"}} end

使用 pm-is-supported 检查电源支持情况

在这一步中,我们将探讨如何使用 pm-is-supported 命令来检查系统的电源管理功能。该命令是 pm-utils 软件包的一部分,该软件包提供了用于挂起和休眠的简单命令行工具。

首先,让我们检查你的系统上是否有 pm-is-supported 命令。在终端中输入以下命令:

which pm-is-supported

如果找到了该命令,你将看到可执行文件的路径,类似如下内容:

/usr/bin/pm-is-supported

如果未找到,你可能看不到输出或看到一条错误消息。在典型的 LabEx 环境中,应该已经安装了 pm-utils,但进行检查始终是一个好习惯。

现在,让我们使用 pm-is-supported 来查看你的系统是否支持待机到空闲(suspend-to-idle)。待机到空闲是一种节能状态,系统在这种状态下保持低功耗,同时仍能快速响应事件。

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

pm-is-supported --suspend-to-idle

此命令专门检查是否支持待机到空闲。输出将表明是否支持该功能。你可能会看到如下输出:

suspend-to-idle

这意味着支持待机到空闲。如果不支持,可能没有输出或显示不同的消息。

你还可以检查其他电源状态,如 suspend(待机到内存,suspend-to-RAM)和 hibernate(待机到磁盘,suspend-to-disk)。

尝试检查是否支持常规挂起:

pm-is-supported --suspend

以及是否支持休眠:

pm-is-supported --hibernate

输出将告诉你系统是否支持这些电源状态。了解系统支持哪些电源状态对于管理系统功耗非常重要。

点击 继续 进入下一步。

在 /sys/power 中验证电源状态

在 Linux 系统中,/sys 文件系统提供了一种与内核进行交互并获取系统硬件和状态信息的方式。/sys/power 目录包含与系统电源管理相关的文件。

在这一步中,我们将检查 /sys/power/state 文件的内容,以了解系统当前支持哪些电源状态。

首先,让我们切换到 /sys/power 目录。虽然你可以在当前目录下查看该文件,但切换目录有助于你了解该文件在文件系统层级结构中的位置。

输入以下命令来切换当前目录:

cd /sys/power

现在你已经进入了 /sys/power 目录,可以查看 state 文件的内容了。我们将使用 cat 命令,该命令用于显示文件内容。

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

cat state

该命令的输出将显示系统内核和硬件支持的电源状态列表。这些状态通常以空格分隔列出。你可能会看到类似以下的输出:

freeze mem disk

下面来详细解释一下这些状态的一般含义:

  • freeze:对应待机到空闲(suspend-to-idle)。系统进入低功耗状态,但 CPU 仍以低功耗模式运行,以便快速唤醒。
  • mem:对应待机到内存(suspend-to-RAM)。系统将其状态保存到内存中,并进入极低功耗状态。从这种状态唤醒相对较快。
  • disk:对应待机到磁盘(suspend-to-disk),也称为休眠(hibernation)。系统将其状态保存到硬盘中,然后关机。从这种状态唤醒所需的时间较长,因为需要从磁盘中重新读取状态。

输出中列出的状态是系统在内核层面配置为支持的状态。这些信息补充了你在上一步中通过 pm-is-supported 命令所了解到的内容。

如果你愿意,现在可以切换回你的主目录,不过对于下一步来说这并非严格必要。

cd ~

点击 继续 以进入下一步。

使用 cat /etc/systemd/logind.conf 检查 logind 配置

在这最后一步,我们将查看 logind.conf 文件,它是 systemd-logind 的配置文件。systemd-logind 是一个系统服务,用于管理用户登录、会话和席位。它还处理电源和挂起按键操作以及笔记本电脑的盖子开合事件。

logind.conf 文件位于 /etc/systemd 目录中。我们将再次使用 cat 命令来查看其内容。

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

cat /etc/systemd/logind.conf

该命令将显示 logind.conf 文件的内容。此文件包含各种控制 systemd-logind 行为的设置。你会看到以 # 开头的行,这些是注释,会被忽略。开头没有 # 的行是配置选项。

你可能会看到与电源管理相关的选项,例如:

#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#StopIdleSession=no
#IdleAction=ignore
#IdleActionSec=30min
#InhibitDelayMaxSec=5min
#UserStopDelaySec=10
#KillUserProcesses=no
#KillExcludeUsers=root
#OOMScoreAdjust=-1000
#RuntimeDirectorySize=10%
#RuntimeDirectoryInodes=400k
#RemoveIPC=yes
#Inhibitors=block
#SessionsPerUser=0
#RemoteUserControl=no

这些带注释的行显示了默认设置。如果某一行没有注释(不以 # 开头),则表示该设置已被明确配置。

例如,HandlePowerKey 选项决定了按下电源按钮时会发生什么。默认值是 poweroffHandleSuspendKeyHandleHibernateKey 分别控制挂起和休眠按键的行为。HandleLidSwitch 控制笔记本电脑盖子关闭时的操作。

通过检查这个文件,你可以了解系统是如何配置以响应各种与电源相关的事件的。虽然在本次实验中你不会修改这个文件,但了解其位置和用途对于理解 Linux 系统的电源管理非常有价值。

你现在已经完成了这个关于检查 Linux 系统电源支持和配置的入门实验。

点击 继续 完成实验并查看总结。

总结

在本次实验中,我们学习了如何检查 Linux 系统中的电源管理配置。首先,我们使用 pm-is-supported 命令来确定系统支持哪些电源状态,例如待机到空闲(suspend-to-idle)、挂起(待机到内存,suspend-to-RAM)和休眠(待机到磁盘,suspend-to-disk)。这个属于 pm-utils 软件包的命令,为评估系统的电源管理能力提供了一种快速的方法。

接着,我们探索了 /sys/power 目录,它提供了一个内核接口,用于验证当前的电源状态和可用的电源管理选项。最后,我们检查了 /etc/systemd/logind.conf 文件,以了解 systemd-logind 是如何配置来处理与电源相关的事件的,比如笔记本电脑盖子关闭或按下电源按钮,这些事件会直接影响系统的电源管理行为。