欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

CPU工作状态模式详解

最编程 2024-07-31 09:50:08
...

CPU 优化建议使用cpupower设置CPU 为Performance模式

CPU动态节能技术用于降低服务器功耗,通过选择系统空闲状态不同的电源管理策略,可以实现不同程度降低服务器功耗,更低的功耗策略意味着CPU唤醒更慢,对性能影响更大。 对于对时延和性能要求较高的应用,建议关闭CPU的动态调节功能,禁止CPU休眠,并把CPU频率固定到最高。 通常建议在服务器BIOS中修改电源管理为Performance,如果 发现CPU模式为conservative或者powersave,可以使用cpupower设置CPU为Performance模式。

cpufreq的五种模式

cpufreq是一个动态调整cpu频率的模块,系统启动时生成一个文件夹 /sys/devices/system/cpu/cpu0/cpufreq,里面有几个文件,其中scaling_min_freq代表最低频率,scaling_max_freq代表最高频率,scalin_governor代表cpu频率调整模式,用它来控制CPU频率。

检查cpu模式

cpupower frequency-info

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

1.performance

   只注重效率,将CPU频率固定工作在其支持的最高运行频率上,而不动态调节。

2.Userspace

    最早的cpufreq系统通过userspace governor为用户提供了这种灵活性,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU运行频率使用。也就是长期以来都在用的那个模式,可以通过手动编辑配置文件配置。

3.powersave

将CPU频率设置为最低的所谓“省电”模式,CPU会固定工作在其支持的最低运行频率上。因此performace和powersave这两种governors都属于静态governor,即在使用它们时CPU的运行频率不会根据系统运行时的负载的变化动态做出调整。这种governors对应的是两种极端的应用场景。使用performance governor是对系统高性能的最大追求,而使用powersave gover则对系统最低功耗的最大追求。

4.ondemand

按需快速动态调整CPU频率,一有CPU计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率。、

userspace是内核态的检测,用户态调整,效率低。而ondemand正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的governor。在ondemand governor检测到系统负载超过up_threshold所设定的百分比时,说明用户当前需要CPU提供更强大的处理能力,因为ondemand governor会将CPU设置在最高频率上运行,但是当ondemand governor监测到系统负载下降,可以降低CPU支持的可选频率时,到底应该降到那个频率呢?ondemand governor的最初实现是在可选的频率范围内调低至下一个可用频率,例如,CPU支持三个可选频率,分别为1.67GHz,1.33GHz,1GHz,如果CPU运行在1.67GHz时,ondemand governor发现可以降低运行频率,那么1.33GHz将被选座频率的目标频率。

5.conservative:与ondemand不同,平滑地调整CPU频率,频率的升降是渐变式的,会自动在频率上下限调整,和ondemand的区别在于它会按需分配频率,而不是一味追求最高频率。

 

推荐阅读