暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

物理机和虚拟机上CPU睿频的区别

济南小老虎 2023-05-24
263

关于睿频

睿频是指当启动一个运行程序后,处理器会自动加速到合适的频率,
而原来的运行速度会提升 10%~20% 以保证程序流畅运行的一种技术。

一般max的睿频不能超过特别长的时间.
他的能耗和TDP的影响都比较大.

睿频与很多环境和硬件相关:
1. 供电必须足够
2. 主板BIOS必须支持.
3. 没有使用节约电力的模式.
4. 机器所在机房的温度不能太高.机器的散热要好.
5. 操作系统支持动态调整.


部分结论

物理机可以实现动态调频
但是虚拟机为了稳定. 主机层面查不到任何频率变动的情况.
充分怀疑. 虚拟机仅能够有物理机的默频的能力

然后通过时间片进行轮询给出.
所以虚拟机 就算是不超售也可能比物理机损耗 15%的睿频性能.
如果超售 则根据超售比率, 仅有 1/超售比率 的性能.

所以物理机可以看主频核心数
虚拟机还要问一下超售比率.

昨天同事问exadata. 查询了下oracle的官方资料
一体机的虚拟机支持200%的超售比率.

ESXi的虚拟机最高支持 32倍的超售比率 也就是 3200%.


Intel物理机器上面的睿频-1

公司内有一台服务器, CPU型号为 Intel 6150 2.7Ghz
官方资料里面 最高睿频为: 3.7GHz

lscpu能够看到他的部分信息
型号名称: Intel(R) Xeon(R) Gold 6150 CPU @ 2.70GHz
步进: 4
CPU MHz: 1438.659
CPU max MHz: 3700.0000
CPU min MHz: 1200.0000
BogoMIPS: 5400.00

CPU MHz : 应该是当前CPU的频率. 可以看到他是一个动态的数据.
BogoMIPS: 是默认频率的两倍的简单管理.
最高和最低的频率都有相关的信息存在.

查看uptime
08:38:24 up 274 days, 23:11, 5 users, load average: 1.59, 1.65, 1.50

可以通过如下目录查看每个CPU的信息
cd /sys/devices/system/cpu/cpu{n}/cpufreg/

其实可以简单算一下平均数
find /sys/devices/system/cpu -iname cpuinfo_cur_freq -exec cat {} \; \
|awk '{sum += $1} END {printf "NR = %d,Average = %3.3f\n",NR,sum/NR}'

我这边得出的结果为:
NR = 144,Average = 2714841.347
第二次测试为:
NR = 144,Average = 2459711.347
最低到过:
NR = 144,Average = 2097202.590


Intel物理机器上面的睿频-1

我开始SPECJVM2008 进行全核心的压力测试:

[root@testsvr116 SPECjvm2008]# uptime
08:46:37 up 274 days, 23:19, 5 users, load average: 203.43, 65.28, 23.89
[root@testsvr116 SPECjvm2008]# find sys/devices/system/cpu -iname cpuinfo_cur_freq -exec cat {} \; |awk '{sum += $1} END {printf "NR = %d,Average = %3.3f\n",NR,sum/NR}'
NR = 144,Average = 3113466.535

可以看到比较奇怪的现象.
主频是 311/270 提升了大约 15%
但是看 uptime的 load average 却是 203/144 提示了40%

最高到了:
08:48:49 up 274 days, 23:21, 5 users, load average: 296.08, 149.65, 60.44
提升了一倍有余.

所以可以简单认为. 在物理机器的请款下Golden 6150 四路服务器, 物理机器可以较长时间的 动态提升 15%的性能.
但是全核心无法达到3.7Ghz的最高频率, 仅能够达到3.1G左右的睿频.


虚拟机的情况

ESXi的虚拟机
型号名称:Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
BIOS Model name: Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
CPU 系列:6
型号:85
每个核的线程数:1
每个座的核数:8
座:2
步进:7
BogoMIPS:4589.21

没找到睿频CPU的查看地方, 可以充分怀疑, ESXi 不太使用睿频相关的特性.

阿里云虚拟机
AMD和Intel的CPU都没有找到睿频相关的地方.
倚天710 找到了如下目录
/sys/devices/system/cpu/cpufreq/policy0
但是max 和 min 以及 cur 都是 2.75Ghz
也就是说 阿里云全系列也不支持睿频的功能.

验证了下云海OS 宿主机的CPU也是支持动态调频的
但是虚拟机也还是不支持.


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论