ACPI(Advanced Configuration and Power Interface)是Linux和现代操作系统中管理硬件配置、电源管理、热管理等功能的开放标准。以下是详细解析:
acpi
、thermal
)实现,通过/sys/firmware/acpi/
和/proc/acpi/
(旧版本)暴露接口。acpid
:守护进程,处理ACPI事件(如执行合盖休眠脚本)。acpi
命令:查看电池状态、温度等信息(示例:acpi -V
)。powertop
:分析电源消耗,优化ACPI设置。/etc/acpi/
目录包含事件处理脚本(如/etc/acpi/lid.sh
处理笔记本盖开关)。ACPI表问题
硬件兼容性问题可能导致内核报错(如ACPI Error: [DSSP] Namespace lookup failure
)。
解决方法:
acpi=off
(临时禁用ACPI)或acpi=noirq
(禁用中断路由)。acpidump
和iasl
工具)。电源管理失效
例如休眠后无法唤醒。
排查步骤:
dmesg | grep -i acpi # 查看内核日志
systemctl status acpid # 检查acpid服务状态
cat /sys/power/state # 查看支持的电源状态
自定义ACPI事件
示例:按下电源按钮时执行脚本:
/etc/acpi/events/
中创建规则文件(如power-btn
):event=button/power.*
action=/etc/acpi/power-btn.sh
power-btn.sh
并赋予可执行权限。acpitool
acpitool -w
列出唤醒设备)。turbostat
acpi_call
ACPI是Linux硬件管理和电源控制的核心机制,理解其原理和工具能有效解决电源、热管理相关问题。遇到兼容性问题时,可通过内核参数、BIOS更新或手动调试ACPI表进行优化。