gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 11:06:08 25 4
gpt4 key购买 nike

即时间 A = 电压击中 NIC;时间 B = 来自 Java NIO 包的选择器能够为 I/O 选择套接字 channel 。

最佳答案

使用SO_TIMESTAMP并找到一个实际支持时间戳的 NIC 和一个支持分辨率优于毫秒的时间戳的 NIC。那么你应该有机会,如果你能让 Java 读取传入的 cmsg辅助数据。

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

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

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

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

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

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

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

关于java - 是否可以检测内核生成 epoll 的时刻与 Sun JVM 读取它的时刻之间的时间差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4494625/

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