load负载虚高
因为笔记本主板的设备很多,内核会不断探测,导致负载过高。
解决
#编辑 /etc/default/grub 文件替换为
GRUB_CMDLINE_LINUX_DEFAULT="quiet module_blacklist=sdhci_pci,sdhci,ac,rtsx_usb_sdmmc,rtsx_usb video=eDP-1:d acpi_enforce_resources=lax"
#然后执行
update-grub && reboot
以下是AI对此的解释:
1. 存储与读卡器驱动屏蔽(解决 Load 高的关键)
这部分解决了你之前在 ps 和 stack 中看到的 kworker 进程陷入 D 状态(不可中断睡眠) 的问题。
-
module_blacklist=sdhci_pci,sdhci:-
作用:禁止内核加载 PCIe 总线的 SD/eMMC 控制器驱动。
-
原因:你的主板 eMMC 芯片物理缺失,内核不断尝试初始化它会导致
Failed to initialize报错并阻塞进程。
-
-
rtsx_usb_sdmmc,rtsx_usb:-
作用:禁用 Realtek USB 接口的内置读卡器驱动。
-
原因:堆栈显示
rtsx_usb_sdmmc正在不断进行mmc_rescan(重新扫描),试图寻找不存在的 SD 卡,这是导致你最后 1.5 负载的真凶。
-
2. 电源与显示输出优化
针对你裸板运行、无电池、无屏幕的物理现状进行清理。
-
module_blacklist=...,ac:-
作用:屏蔽 AC 适配器探测驱动。
-
原因:由于你采用短接开机且处于裸板模式,内核探测 AC 电源状态时会发生
error -17(资源忙)冲突。
-
-
video=eDP-1:d:-
作用:强制禁用 eDP(笔记本内置显示屏)接口。
-
原因:显卡驱动
i915会持续探测已拆掉的屏幕,产生failed to retrieve link info的日志冗余。
-
3. 内核强制放行参数
-
acpi_enforce_resources=lax:-
作用:将 ACPI 资源冲突检查设为“松散”模式。
-
原因:允许内核驱动与主板固件(BIOS)在发生 I/O 端口冲突时共享资源,防止内核因“争抢”不到资源而让相关线程死等,从而降低负载。
-
4. 变更结果总结表
| 参数类别 | 具体参数 | 解决的问题 | 对现有硬件的影响 |
|---|---|---|---|
| 存储屏蔽 | sdhci_pci, sdhci |
eMMC 初始化失败导致的负载 | 不影响 M.2 SATA SSD |
| 读卡器屏蔽 | rtsx_usb_sdmmc, rtsx_usb |
内部 USB 读卡器死循环扫描 | 不影响外部 USB 口和网卡 |
| 电源优化 | ac, acpi_enforce_resources=lax |
电源适配器探测报错 | 解决 ACPI 冲突导致的 D 状态进程 |
| 显示优化 | video=eDP-1:d |
缺失屏幕导致的驱动反复探测 | 减少内核日志报错 |