禁用 acpi_pad
以解决该问题
事件起因
使用 UPS 供电时会出现大量 acpi_pad
进程导致高 CPU 占用
问题分析
查了一圈这是已知问题, Intel 和 各家大厂 均建议禁用
BIOS 请求
acpi_pad
驱动程序将特定数量的处理器切换至 High C 状态以降低功耗acpi pad
驱动程序会在每个待闲置的处理器上创建一个省电线程
简单来说就是 BIOS 要求 CPU 省电, 于是 acpi_pad
就开了一个 100% 占用的线程独占整个核心
什么傻逼设计
相关文档
解决方法
任选其一
- 使用
/etc/modules.d/blacklist.conf
echo "blacklist acpi_pad" > /etc/modprobe.d/blacklist.conf
然后更新 initrd
/ initramfs
update-initramfs -u
完成以后需要重启, 不重启可以使用 rmmod acpi_pad
解决问题
- 修改内核命令行
使用acpi_pad.disable=1
禁用acpi_pad
或直接使用acpi=off
禁用整个 ACPI