在上一个问题中(什么是 ACPI GPE 风暴?),我询问了 ACPI GPE 风暴。仔细查看 /var/log/ 中的 kern.log 文件,我注意到在每个会话中的某个时间点(通常在启动后 20 分钟内)都会触发 GPE 风暴。当我在启动后立即打开 kern.log 并等待风暴出现时,我发现它可以由任何事情触发(复制操作、打开 Firefox 或 Thunderbird 等应用程序等)。这让我很担心,因为我之前的问题的答案证实这可能会威胁稳定性,可能是硬件故障的征兆。在 kern.log 中查找其他与 ACPI 相关的事件时,我发现以下错误消息。我希望有人能提供一些建议:
Jun 10 16:33:20 Guy-VAIO kernel: [ 0.724505] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
Jun 10 16:33:20 Guy-VAIO kernel: [ 0.795205] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
Jun 10 16:33:20 Guy-VAIO kernel: [ 1.024009] ACPI: Deprecated procfs I/F for battery is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared
Jun 10 16:33:20 Guy-VAIO kernel: [ 23.140259] [Firmware Bug]: ACPI(VGA) defines _DOD but not _DOS
我遇到了频繁(每天几次)的应用程序崩溃,这些崩溃似乎是随机的,所以不是发生在特定的应用程序中,并且不太频繁(大约一周一次)整个系统冻结,此时系统对键盘、鼠标或触摸板输入没有响应,唯一的解决方案是硬重启(按开始按钮)。
我的问题:
- ACPI 中的固件错误怎么样?
- 我必须如何以及在哪里“清除 CONFIG_ACPI_PROCFS_POWER”?
Ubuntu 12.04,64 位,3.2.0-25-通用内核,Intel® Core™ i5-2430M CPU @ 2.40GHz × 4
答案1
不,ACPI GPE 风暴并不正常。
以下是您所看到的消息的逐行解释,以及内联解决方案可能帮你:
ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
- 在尝试识别操作系统时,BIOS 询问内核“您是 Linux 吗?”而内核没有响应(这是正常行为)。
- BIOS能使用此查询根据正在运行的操作系统启用或禁用功能,但不应该这样做。
- 您可以尝试添加启动参数
acpi_osi=Linux
以使内核响应“是”,看看这是否有助于解决您的 GPE 风暴问题。(更多信息)
ACPI: Deprecated procfs I/F for battery is loaded...
- 这是一个无害的通知,表明旧的、向后兼容的
/proc/acpi/...
接口也与新的 sysfs 接口一起存在。 - 如果您认为您的制造商特定的内核模块(例如索尼笔记本电脑等)在某种程度上错误处理了旧式
/proc/acpi
接口,您可以尝试禁用它,但唯一的方法是构建一个ACPI_PROCFS_POWER
禁用该选项的自定义内核。 - 向下滚动到末尾可以看到内核文档的完整描述。
- 删除它可能会产生一些轻微的副作用,例如动力顶实用程序将无法充分发挥作用。
- 这是一个无害的通知,表明旧的、向后兼容的
ACPI(VGA) defines _DOD but not _DOS
- BIOS 使用来
_DOD
告诉 ACPI 它是否有多个显示器,如果有,那么有多少个。 _DOS
用于告诉 ACPI BIOS 支持视频切换,即从一个显示器切换到另一个显示器。- 因此,当您的计算机告诉 ACPI 它有两个或更多显示器时,它会感到困惑,但是它无法在它们之间切换!
- 此警告出现在各种情况下 - 您可以尝试这些启动选项并查看稳定性是否有所改善:
acpi=off
,,noapic
?nolapic
- BIOS 使用来
ACPI_PROCFS_POWER 的完整描述
弃用 power /proc/acpi 目录 (ACPI_PROCFS_POWER) 配置_ACPI_PROCFS_电源: 为了向后兼容,此选项允许 弃用的 power /proc/acpi/ 目录仍然存在,即使 它们已被 /sys 中的函数取代。 已弃用的目录(及其替代目录)包括: /proc/acpi/电池/* (/sys/class/power_supply/*) /proc/acpi/ac_adapter/* (sys/class/power_supply/*) 此选项对 /proc/acpi/ 目录没有影响 和函数,它们在 /sys 中尚不存在。 此选项与 proc 目录一起将 在 2.6.39 中删除。 说 N 以删除已移动到 /sys/ 的 power /proc/acpi/ 目录 符号:ACPI_PROCFS_POWER [=y] 类型:布尔值 提示:已弃用 power /proc/acpi 目录 在 drivers/acpi/Kconfig:59 定义 取决于:ACPI [=y] && PROC_FS [=y] 地点: -> 电源管理和 ACPI 选项 -> ACPI(高级配置和电源接口)支持(ACPI [=y])