关于 perf stat 的 cycles

2020-06-12 15:23:48 +08:00
 czhou

最近在两台服务器上线了一个程序,相同的 cpu,都是 centos7,都没有 cpufreq governor,但是一个用 perf stat 抓到的 cycles 只能达到基准频率,而另外一遍能达到最高的睿频,两台机器都比较空闲,可以认为还有大量闲置资源,闲置有点不大理解为什么会有这样的区别。

为了说明问题,用服务器 1 代替有问题的,服务器 2 代替正常运行的。

为了排除 cpu 迁移的问题,在服务器 1 上添加了 cpu binding,结果基本没差别,为了排除 io 的差异,用 tmpfs 直接接管了服务器 1 的 io 操作,现在服务器 1 用 perf 抓仍然跑在基频,不知道有同学有相关经验没,求教。

非常感谢。

2373 次点击
所在节点    DevOps
2 条回复
secondwtq
2020-06-12 18:55:22 +08:00
bios 没作妖么
Meltdown
2020-06-12 19:35:36 +08:00
把睿频关了?boot 启动参数里设置下 processor.max_cstate,intel_idle.max_cstate.
Bios 性能模式之类的也检查下是否一样,没有 cpufreq governor 貌似也可以装下吧?设置成一样的看看?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680995

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX