即时间A =电压命中NIC;时间B =来自Java的选择器NIO包能够为I/O选择套接字通道。是否有可能检测到内核生成epoll和Sun JVM读取它之间的时间差?
3
A
回答
0
您需要使用诸如tcpdump之类的东西,然后关联应用程序日志和“嗅探器”日志之间的时间戳以确定这一点,单靠jvm是不可能的。
4
使用SO_TIMESTAMP并找到实际支持时间戳的NIC和支持时间戳优于毫秒分辨率的NIC。那么如果你可以让Java读取传入的cmsg
辅助数据,那么你应该有机会。
没有良好的硬件支持,数据包将被内核标记,最有可能是低分辨率不稳定定时器。
(编辑#1)实施例代码用C需要2.6.30或更新内核我认为:
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支持。
相关问题
- 1. epoll和kqueue之间有什么主要的性能差异吗?
- 2. 是否有可能在文件之间进行智能差异?
- 3. AOSP内核和股票内核之间的技术差异
- 4. RenderPartial和Partial之间是否有任何大的性能差异?
- 5. 使用单个文件描述符,select,poll和epoll和...之间是否有任何性能差异?
- 6. 如何获取当前时间和eventTime之间的时间差
- 7. Assert.That和传统语法之间是否有功能差异?
- 8. jQuery:$('。selector',myContext)和myContext.find('。selector')之间是否有功能差异?
- 9. 获取CFAbsoluteTime和NSDate之间的时差
- 10. “/\((.*)\)/”和“/ \(([^ \)] *)\)/”之间是否存在差异?
- 11. 生成核心转储时Jstack和gcore之间的区别?
- 12. 是否有可能检测到Java中是否有类可用?
- 13. MSBUILD VS VS2008之间的差异生成
- 14. PreRenderComplete和SaveState之间的时间差
- 15. 检测当前时间是否在两个设置时间之间
- 16. 从多个文件读取时元素之间的差异
- 17. 在testng中处理依赖和测试之间的时间差
- 18. 是否有可能加快单元测试的时间?
- 19. 是否有可能共享域和子域之间的cookie
- 20. BEAM和JVM之间的某些基本功能/架构差异是什么?
- 21. JVM方法调用和远程调用之间的性能差异是什么?
- 22. 检查时间是否在多次之间(时间DataType)
- 23. rt.jar的内容是否在不同的JVM供应商之间发生变化?
- 24. 是否有可能检索Facebook Page的创建时间/日期?
- 25. DrawRect完成和UI刷新之间的时间差
- 26. 在具有所有可能性的字符之间生成点
- 27. 记录之间的时间差
- 28. 浏览器和程序化http请求之间是否有任何可检测的差异
- 29. 是否有可能使用thread_sleep来检测核心数量
- 30. epoll:当EPOLLONESHOT指定时,电平触发和边沿触发之间的差异
您可以确定从设置的行到实际到达JVM的时间。我怀疑纯粹用软件是否有办法这样做。如果你只关心在内核中花费多少时间,你可以编译一个内核来记录时间戳并查看它们。 – 2010-12-20 22:31:35
为什么你需要知道这个? – 2010-12-20 22:45:52