简要记录一下最近遇到的问题,因新购机器安装镜像变化,从默认CentOS 7.4变成了CentOS 7.5,内核版本也从3.10.0-693.el7.x86_64变更成了3.10.0-862.14.4.el7.x86_64,实测性能降低了约13%左右,sysctl -a对比修改了内核参数以后,性能没有恢复。

最终查明,是因为693之后的内核默认开启了Spectre和Meltdown漏洞的补丁,对系统性能产生了影响。具体可以参见链接内的介绍和说明。这些补丁实测对cpu性能有较大影响,我们的环境上达到了13%左右。

centos 7上关闭的方法,修改/etc/default/grub,在启动选项上增加:

nospec_store_bypass_disable noibrs noibpb spectre_v2_user=off spectre_v2=off nopti l1tf=off kvm-intel.vmentry_l1d_flush=never mitigations=off

grub2-mkconfig -o /boot/grub2/grub.cfg使其生效,重启即可。实测可以使862达到693约95%左右的性能。