理解inux 下 intel处理器睿频

误区:睿频就是所有的cpu都能达到最大频率

INTEL睿频步骤:

intel使用时intel_pstate的技术来管理cpu的变频,通过下面的命令可以查看使能情况(intel-2697 v4)

# ls /sys/devices/system/cpu/intel_pstate/

max_perf_pct  min_perf_pct  no_turbo  num_pstates  turbo_pct

# cat /sys/devices/system/cpu/intel_pstate/no_turbo

0

从参数看,intel的软件层面上使能了睿频。no_turbo为“1”是关闭。但是使能了performance模式,测试后cpu没能达到最大的CPU频率。步骤如下:

# cpupower -c all frequency-set -g performance

# cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

performance

performance

扫描二维码关注公众号,回复: 5503530 查看本文章

performance

(一共72个)

#stress --cpu 72 &

# cat /proc/cpuinfo | grep -i mhz

cpu MHz        : 2799.980

cpu MHz        : 2799.980

(一共72个)

#  cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

3600000

从上面看,使能performance后cpu能够达到2.8GHZ,而没有达到最大值是3.6GHZ。

intel的CPU在performance下不能达到最大频率的原因

从上面可以看出来当使能了turbo后,然后命令行使得cpu达到performance,跑每个逻辑cpu上都跑一个stress程序。每个cpu实际能够达到2.8GHZ,离最大测cpu频率(3.6GHZ)还有0.8HZ。

测试的结果是如果1个cpu达到繁忙时,cpu可以达到3.6HZ。如果繁忙的任务比较多的话,cpu会自动降频,当所有cpu都繁忙时,那么一直降到2.8GHZ为止。理论依据如下:

不能达到3.6HZ是硬件原因,硬件上会控制整个CPU的功耗(比如,都是3.6GHZ可能会导致整体过热,超出cpu承受的能力),cpu的硬件会直接降频。降频是按照阶梯降频依次降频的。

intel睿频计算方法:

base Frequency + over base frequency

这是intel的E5系列的cpu的睿频图。本次测试是以E5-2697为准。睿频的阶梯从+13到+5。从图上可知当2个core繁忙时,这2个core自动睿频到3.6GHZ(2.3GHZ + 13*100MHZ = 3.6GHZ)。当达到8个core繁忙时,cpu频率为2.3GHZ+5*100=2.8GZH。以后无论多繁忙都是2.8GHZ

所以,请那些因为测试过程中,看到没有全部的cpu达到最大频率的兄弟们,停止无休止的各种验证吧。intel 的cpu是不能同时达到最大频率的。AMD的是可以的。

猜你喜欢

转载自blog.csdn.net/xiaofeng_yan/article/details/81665416