Linux上准确的进程间定时器

Linux上准确的进程间定时器,第1张

概述我想测量发送者进程和使用者之间的ping时间. 这两个进程都在同一物理主机 Linux 64位上运行. 我目前正在使用clock_gettime(CLOCK_REALTIME,& cur_ts);. 我基本上捕获当前时间戳cur_ts并将其发送给消费者进程;一旦它被另一端接收,我就调用clock_gettime(CLOCK_REALTIME,& cur_ts);再次在第二个过程中减去两次. 此过程 我想测量发送者进程和使用者之间的Ping时间.
这两个进程都在同一物理主机 Linux 64位上运行.

我目前正在使用clock_gettime(CLOCK_REALTIME,& cur_ts);.
我基本上捕获当前时间戳cur_ts并将其发送给消费者进程;一旦它被另一端接收,我就调用clock_gettime(CLOCK_REALTIME,& cur_ts);再次在第二个过程中减去两次.

此过程是否准确测量两个进程之间的Ping?我应该使用不同的东西吗?

谢谢

解决方法 是

您正在使用正确的界面.这是一款Posix指定的HRT(高分辨率计时器),可在现代Loonix中使用,您的使用是规范标准.

对于Ping分辨率,它可能无关紧要,但可以使用CLOCK_MONOTONIC,尤其是短时间间隔.在其他条件下,CLOCK_REALTIME可能更准确.但是,这些时钟的确切含义并不是由Posix指定的,而在linux上,我相信所有这些都需要进行NTP调整.至少对于长时间间隔来说这是一件好事.

在linux上,要在不进行NTP调整的情况下访问底层硬件时钟,您必须关闭Posix预留并使用CLOCK_MONOTONIC_RAW.

http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html

总结

以上是内存溢出为你收集整理的Linux上准确的进程间定时器全部内容,希望文章能够帮你解决Linux上准确的进程间定时器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1017867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存