正在运行的代码正在循环中处理大量数据。 在整个循环中,时间戳会打印到日志文件中。
For LOOP
{
Timestamp 1 - Start of Loop
:
:
Timestamp 2
:
:
Timestamp 3
:
:
Timestamp 4
:
:
Timestamp 5 - END of Loop
}
Timestamp之间的延迟可能需要2毫秒到14秒之间的任何时间,该间隔应该花费毫秒。
在某些地方,仅设置原始变量时就会发生延迟。
看到的最奇怪的延迟是从时间戳5到时间戳1,而只是从循环的底部过渡到顶部。
延迟的位置是零星的,甚至将JVM的最小大小从512M设置为1024M,但这从没有影响过。
我打算使用JVisualVM,但这是一台具有JRE 1.6的AIX机器,我找不到要为AIX下载的JVisualVM。
是否可以添加任何调试程序以发现可能导致如此大延迟的原因?
答案 0 :(得分:0)
在这种情况下,打开垃圾收集跟踪显示了明显的延迟,该延迟与应用程序中发生的延迟的时间戳匹配。