小编Mic*_*yer的帖子

以节能的方式动态禁用内核?

我正在寻找一种在 Linux 中动态禁用内核的机制,以最大限度地减少功耗。

不幸的是,根据Watts Up?的读数,使用以下简单方法禁用内核实际上会增加功率。Pro测量系统总功率:

echo 0 > /sys/devices/system/cpu/cpu7/online
Run Code Online (Sandbox Code Playgroud)

我的经验似乎得到了其他人的证实(尽管这个错误已被标记为“CLOSED PATCH_ALREADY_AVAILABLE”): https://bugzilla.kernel.org/show_bug.cgi ?id=5471

由于机器已卸载,我希望除了一个核心之外的所有核心(或者可能是两个“核心”,因为 CPU 是超线程的)都处于尽可能深度的睡眠状态。根据 acpitool 的输出,这似乎不会单独发生:

Processor ID           : 7
Bus mastering control  : no
Power management       : yes
Throttling control     : no
Limit interface        : no
Active C-state         : C0
C-states (incl. C0)    : 3
Usage of state C1      : 899 (99.3 %)
Usage of state C2      : 6 (0.7 %)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,令我困惑的一点是 acpitool 和 /proc/acpi 似乎对可用的 C 状态不一致,或者它们可能使用不同的命名方案。

$ cat /proc/acpi/processor/CPU7/power 
active state:            C0 …
Run Code Online (Sandbox Code Playgroud)

linux multi-core power-management

5
推荐指数
1
解决办法
3883
查看次数

标签 统计

linux ×1

multi-core ×1

power-management ×1