最近在两台服务器上线了一个程序,相同的 cpu,都是 centos7,都没有 cpufreq governor,但是一个用 perf stat 抓到的 cycles 只能达到基准频率,而另外一遍能达到最高的睿频,两台机器都比较空闲,可以认为还有大量闲置资源,闲置有点不大理解为什么会有这样的区别。
为了说明问题,用服务器 1 代替有问题的,服务器 2 代替正常运行的。
为了排除 cpu 迁移的问题,在服务器 1 上添加了 cpu binding,结果基本没差别,为了排除 io 的差异,用 tmpfs 直接接管了服务器 1 的 io 操作,现在服务器 1 用 perf 抓仍然跑在基频,不知道有同学有相关经验没,求教。
非常感谢。