我在内核日志中发现了这一点:
内核:r8169 0000:02:00.0:无法禁用 ASPM;操作系统没有 ASPM 控制
这是什么意思以及我应该如何解决它?
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 21.04
Release: 21.04
Codename: hirsute
答案1
ASPM 是 PCI Express 的活动状态电源管理。它负责管理诸如在没有数据传输时将 PCIE 链路切换到低功耗模式之类的事情。它可以由 ACPI 固件或操作系统控制。
当系统启动时,固件最初控制“一切”。当支持 ACPI 的操作系统的内核启动时,固件会为其提供一系列功能,固件可以将这些功能移交给操作系统进行控制。
在你的情况下,固件没有向操作系统提供 ASPM 控制,其原因只有系统/主板供应商的工程师可能清楚。
这可能是因为硬件不支持 ASPM,因此实际上没有什么可控制的,并且 PCIe 链路在系统运行时始终处于完全供电状态(这可能是最常见的原因,至少在桌面系统上)。或者可能是因为固件没有实现必要的编程接口,尽管硬件可能支持 ASPM。或者可能是因为硬件实现有一些怪癖,如果没有特定硬件知识的操作系统尝试控制 ASPM,就会导致其行为异常。
因此,该消息基本上是一条信息性消息:驱动程序试图控制 NIC 的 PCIe 电源管理,操作系统告诉它“抱歉,我自己无法控制该功能,因此我也无法将其提供给您” 。如果原因是硬件实际上不具有 ASPM 功能,那么您无法真正修复它,除非绝对最大节能对您来说是关键要求,除非更换硬件。
但是,如果硬件实际上应该支持 ASPM,那么固件更新(“BIOS 更新”)可能会有所帮助。