在 CPU 节流系统中可靠的时间测量方法是什么?

发布于 2024-10-30 05:39:21 字数 129 浏览 10 评论 0原文

现代 CPU 会逐个核心地改变 CPU 频率。我做了研究,发现很多人都在谈论时钟因此而倾斜。我还没有找到处理时钟偏差的好方法。正确的方法是什么(最好是在 Linux 中)?

附加问题:如果系统在虚拟机内运行,这些会发生什么变化?

Modern CPUs alter the CPU frequency on core-by-core basis. I have done my research and I found a lot of people talking about clocks being skewed because of this. What I have not found was a good method for dealing with the clock-skew. What is the proper method of doing it (preferably in Linux)?

Bonus question: how does any of this change if the system is running inside of a VM?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你另情深 2024-11-06 05:39:21

带有 CLOCK_MONOTONICclock_gettime() 不应出现时钟偏差。事实上,clock_gettime() 的 Linux 联机帮助页仅将 CLOCK_PROCESS_CPUTIME_IDCLOCK_THREAD_CPUTIME_ID 记录为受时钟偏差的影响。

clock_gettime() with CLOCK_MONOTONIC shouldn't see clock skew. Indeed, the Linux manpage for clock_gettime() only documents CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID as being affected by clock skew.

优雅的叶子 2024-11-06 05:39:21

较新的芯片组采用了高精度事件计时器 (HPET),可解决此问题问题。如果您的操作系统支持 HPET(例如 Windows 7、Linux 2.6.27),则关键的内核模式计时功能不应存在偏差问题。

Newer chipsets incorporate a High Precision Event Timer (HPET) which addresses this issue. If your OS is HPET-aware (e.g. Windows 7, Linux 2.6.27) the critical kernel-mode timing functions should not have a skew problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文