是否可以检测内核生成 epoll 的时刻与 Sun JVM 读取 epoll 的时刻之间的时间差?

发布于 2024-10-09 03:26:16 字数 65 浏览 6 评论 0原文

即时间 A = 电压到达 NIC; Time B = Java NIO 包中的选择器能够选择 I/O 的套接字通道。

i.e. Time A = voltage hits the NIC; Time B = Selector from Java NIO package is able to select socket channel for I/O.

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

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

发布评论

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

评论(2

国粹 2024-10-16 03:26:16

使用 SO_TIMESTAMP 并找到一个真正支持时间戳的网卡以及一个支持毫秒级时间戳的网卡解决。那么如果你能让 Java 读取传入的 cmsg< /a> 辅助数据。

如果没有良好的硬件支持,数据包将被内核标记为很可能是低分辨率不稳定计时器。

(编辑 #1) C 中的示例代码需要 2.6.30 或更新的内核,我认为:

http://www.mjmwired.net/kernel/Documentation/networking/timestamping/timestamping.c

(编辑 #2) 确定的示例代码C 语言中的内核到用户空间延迟:

http://vilimpoc.org/research/ku-latency/< /a>

(编辑 #3) 我建议遵循 J-OWAMP 项目,该项目依赖于高分辨率计时器和数据包延迟测试。 OWAMP 团队一直在推动 Linux 内核团队提供更好的 SO_TIMESTAMP 支持。

http://www.av.it.pt/jowamp/

Use SO_TIMESTAMP and find a NIC that actually supports timestamps and one that supports timestamps with better than millisecond resolution. Then you should have a chance if you can get Java to read incoming cmsg ancillary data.

Without good hardware support the packets are going to be tagged by the kernel with most likely a low resolution unstable timer.

(edit #1) Example code in C requiring 2.6.30 or newer kernel I think:

http://www.mjmwired.net/kernel/Documentation/networking/timestamping/timestamping.c

(edit #2) Example code to determine kernel to user-space latency in C:

http://vilimpoc.org/research/ku-latency/

(edit #3) I recommend following the J-OWAMP project which is dependent upon high resolution timers and packet latency testing. The OWAMP team have been pushing the Linux kernel team for better SO_TIMESTAMP support.

http://www.av.it.pt/jowamp/

谁与争疯 2024-10-16 03:26:16

您需要使用类似 tcpdump 的东西,然后将应用程序日志和应用程序日志之间的时间戳相关联“嗅探器”日志来确定这一点,单独从 jvm 是不可能的。

you'll need to use something like tcpdump and then correlate timestamps between your application logs and the "sniffer" logs to determine this, it's not possible from the jvm alone.

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