SCHED_DOWNMIGRATE
参数决定了任务从高负载CPU迁移到低负载CPU的条件。参数有两个值,第一个值控制了CPU负载的阈值,第二个值控制了运行队列的长度阈值。
如果该参数被设置为 40 40
,那么系统会在当CPU负载超过40%或运行队列有40个以上的进程时试图把正在运行的进程迁移到负载更轻的CPU上。变更这个参数以期望省电的目的是通过减少任务在CPU核心之间的迁移,因为迁移是一个相对耗能的操作。这样做可能减少能耗,但也可能导致运算密集型任务的响应时间下降。
要修改此参数以期望达到省电效果,请将两个阈值提高,从而降低触发下迁移的条件。例如,你可以考虑这样调整:
echo "80 80" | sudo tee /sys/kernel/sched_downmigrate
这意味着只有当某个CPU的负载超过80%或者运行队列长度大于80时,才会迁移任务;这减少了核心间的动态迁移频率,有助于减少因任务迁移而产生的性能开销和能源消耗。但是实际应用中,这样的调整是否有正面效果,很依赖于具体的系统负载和功耗情况,需要按实际情况调整和监控。
请谨慎调整,因为没有哪种设置能在所有情况下都能够节省电力。重要的是需要根据实际使用情况进行适当调整,并持续监控系统的响应性和电池使用情况。