gpt4 book ai didi

linux - clock_gettime的理解问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:09 25 4
gpt4 key购买 nike

我在使用clock_gettime 可以访问的不同时钟时遇到困难。我尤其感兴趣:

  • CLOCK_REALTIME
  • CLOCK_PROCESS_CPUTIME_ID
  • CLOCK_THREAD_COUTIME_ID

我阅读了联机帮助页,但对我帮助不大。我使用 clock_gettime 以便在我的探查器通过套接字发送收集的数据时为它生成时间戳。我注意到以下差异:

  • CLOCK_REALTIME

我使用此时钟从分析器收到的事件有时顺序错误。时间戳以较高的值开始,但不会高很多。通常最后一条消息(具有较高时间戳的消息)首先出现,然后是具有较低值的时间戳。

  • CLOCK_PROCESS_CPUTIME_ID
  • CLOCK_THREAD_COUTIME_ID

我发现两个时钟没有区别,尽管它们以较小的值开始并且总是正确排序。

我无法解释这种行为。

最佳答案

您的系统时钟源可能设置为 TSC 而不是 HPET。

一般来说,在现代多核系统上,HPET 是一个较新的系统,更准确、更一致,而 TSC 是一个较旧的系统,但性能更高。

在 openSUSE 上,您可以通过以下方式查看您当前的时钟源是什么

cat/sys/devices/system/clocksource/clocksource0/current_clocksource

要在 openSUSE 上将时钟源设置为 HPET,请执行

echo 'hpet' >/sys/devices/system/clocksource/clocksource0/current_clocksource

进一步阅读:

http://en.wikipedia.org/wiki/HPET

http://en.wikipedia.org/wiki/Time_Stamp_Counter

关于linux - clock_gettime的理解问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5930621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com