概述
CPU优化分析主要是两个阶段,虚拟化层和宿主机层。
前期主要怀疑是虚拟化层的影响,主要的怀疑点包括:
1.超线程的影响
关闭超线程之后单核性能有略微提升,但多核性能反而更差,排除超线程的因素
2.NUMA架构和核迁移的影响
按理说如果不按照NUMA的架构来做核绑定,由于缓存和迁移的影响,或造成较大的性能损失,通过绑定物理核测试发现并没有大的提升,排除该因素
3.CPU模式的影响,包括指令集和缓存
分析与vmware的差异,发现我们的指令集和cpu缓存与真实物理机不一致,通过cpu-passthrough和替换qemu版本将host cpu的特性透传仍然无法提升cpu性能
排除了虚拟化层的影响,后来测试发现宿主机本身才是cpu性能的关键,部署了一个redhat对比环境发现宿主机跑分和redhat未经调优过系统差距很大。分析了内核配置参数差异(sysctl)和编译参数差异,没有发现可疑的地方。决定内核行为的并且用户可以干预的只剩下启动参数了,对比发现系统关闭了intel的cstate功能。
写了一个简单的死循环测试对比两个系统的表现,发现redhat内核有负载的cpu频率可以提高到3.1GHz,而当前host机只能达到2.6GHz,即使调整了cpufreq的模式为performance也无法让cpu达到更高的主频。所以基本可以确认是这个参数导致的。打开系统中cstate功能,跑speccpu可以达到和redhat类似的性能分数。
解决措施:目前发现cstate功能和调频功能有耦合,需要使能cstate来解决cpu性能问题,去掉启动参数intel_idle.max_cstate=0 idle=p
最后
以上就是贤惠冰淇淋为你收集整理的服务器虚拟机睿频,虚拟机性能调优-CPU篇的全部内容,希望文章能够帮你解决服务器虚拟机睿频,虚拟机性能调优-CPU篇所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复