在 CentOS 系统中,ASPM(Active State Power Management,主动状态电源管理)是一项用于降低 PCIe 设备功耗的关键技术,通过在链路空闲时将其置于低功耗状态,ASPM 能够有效减少服务器的整体能耗和热量输出,对于追求能效比的数据中心和延长笔记本续航时间的场景尤为重要,本文将详细介绍如何在 CentOS 系统中检查和配置 ASPM。
理解 ASPM 及其策略
在配置之前,首先需要了解 ASPM 的几种核心策略,它们决定了系统在功耗和性能之间的平衡点,Linux 内核提供了以下几种 ASPM 策略可供选择:
策略 | 描述 |
---|---|
default | 使用固件(BIOS/UEFI)提供的默认设置,这是系统的初始状态。 |
performance | 完全禁用 ASPM,追求最低延迟和最高性能,但功耗最高。 |
powersave | 启用最激进的节能模式,最大化功耗节省,但可能会引入微小的延迟。 |
off | 明确禁用 ASPM 功能,与 performance 效果类似。 |
选择哪种策略取决于您的具体需求,对于大多数服务器环境,powersave
是一个理想的选项,因为它能在不明显影响性能的情况下显著节能。
检查当前 ASPM 状态
在进行任何更改之前,了解系统当前的 ASPM 状态至关重要,您可以通过以下两种常用方法进行检查。
查看内核启动信息
使用dmesg
命令可以快速了解系统启动时 ASPM 的初始化情况。dmesg | grep -i aspm
输出结果可能会显示类似
ACPI FADT declares the system doesn't support ASPM
或PCIe ASPM is enabled
的信息,这能帮助您判断固件和内核对 ASPM 的支持情况。查看当前策略
更直接的方法是读取内核模块的参数文件,以查看当前生效的策略。cat /sys/module/pcie_aspm/parameters/policy
该命令会直接输出当前正在使用的策略名称,
default
、powersave
等。
设置 ASPM 策略
在 CentOS 中,最稳定和持久的设置方法是通过修改 GRUB2 的内核启动参数,以下是详细的操作步骤。
编辑 GRUB 配置文件
使用您喜欢的文本编辑器(如 vi
或 nano
)打开 /etc/default/grub
文件,您需要 root
权限或使用 sudo
。
sudo vi /etc/default/grub
找到以 GRUB_CMDLINE_LINUX
开头的行,这行定义了传递给内核的参数,您需要在此行末尾添加 pcie_aspm=<策略>
,要设置为 powersave
模式,修改后的行应如下所示:
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet pcie_aspm=powersave"
请确保将 <策略>
替换为您实际需要的策略名称(如 performance
)。
重新生成 GRUB 配置
保存并关闭文件后,需要根据您刚刚的修改重新生成 GRUB 的配置文件,以便下次启动时生效。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
执行此命令后,系统会读取 /etc/default/grub
中的新设置并更新主配置文件。
重启系统
为了让内核参数更改生效,必须重启系统。
sudo reboot
验证设置是否生效
系统重启后,请再次使用前述的检查命令来验证 ASPM 策略是否已成功应用。
cat //sys/module/pcie_aspm/parameters/policy
输出结果应该显示为您设置的新策略(powersave
),您还可以使用 lspci
命令查看具体 PCIe 设备的 ASPM 状态:
lspci -vvv | grep -i 'ASPM'
如果设备支持并已启用,您会看到类似 LnkSta: Speed 8GT/s, Width x16, L0s L1 enabled
的输出。
相关问答 (FAQs)
问题 1:我已经将 ASPM 设置为 powersave
,为什么 lspci
命令显示某些设备仍然是 ASPM Disabled
?
解答: 这是一种正常现象,ASPM 需要整个 PCIe 链路(从根复合体到最终设备)的所有组件都支持并同意启用,如果链路中的任何一个环节(如主板芯片组根端口或设备本身)不支持 ASPM,或者固件/驱动程序未正确配置,那么该链路上的 ASPM 将会被禁用,即使内核策略是 powersave
,不支持该功能的设备仍然会显示为禁用状态。
问题 2:ASPM 设置会对系统性能产生多大影响?我应该选择哪个策略?
解答: ASPM 对性能的影响通常是微乎其微的,主要体现在从低功耗状态唤醒的纳秒级延迟上,对于绝大多数应用场景,包括 Web 服务器、数据库和虚拟化环境,这种延迟几乎可以忽略不计。
- 选择
powersave
:适用于几乎所有服务器、台式机和笔记本电脑,是能效和性能的最佳平衡点。 :仅适用于对延迟极其敏感的高性能计算(HPC)、高频交易或科学计算等极端场景,在这些场景下,任何微小的延迟都可能是不可接受的,对于普通用户, performance
策略带来的功耗增加远大于其性能收益。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复