Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java System.exit在OpenJDK 7/FreeBSD上似乎需要很长时间_Java_Freebsd_Openjdk - Fatal编程技术网

Java System.exit在OpenJDK 7/FreeBSD上似乎需要很长时间

Java System.exit在OpenJDK 7/FreeBSD上似乎需要很长时间,java,freebsd,openjdk,Java,Freebsd,Openjdk,我对运行的Java子进程的性能有问题 在Java下,在FreeBSD9.0-ReleaseI386上运行 对于此程序,System.exit()运行大约需要2.6秒。而我 不知道为什么。在Windows上需要0.025秒更新:它在OpenJDK 6上也运行得更快 在ktrace下运行OpenJDK7会在关机过程中显示以下一系列内容: 26795 java 1.808597调用umtx操作(0x2831e068,0xf,0,0,0xbf7a9870) 26795 java 1.838640 RET

我对运行的Java子进程的性能有问题 在Java下,在FreeBSD9.0-ReleaseI386上运行

对于此程序,System.exit()运行大约需要2.6秒。而我 不知道为什么。在Windows上需要0.025秒更新:它在OpenJDK 6上也运行得更快

在ktrace下运行OpenJDK7会在关机过程中显示以下一系列内容:

26795 java 1.808597调用umtx操作(0x2831e068,0xf,0,0,0xbf7a9870)
26795 java 1.838640 RET_umtx_op-1错误60操作超时

我怎样才能知道程序在这里要做什么?或者,有没有一个简单的解决方法或方法来解决这个问题?从网络搜索的角度来看,这个问题似乎在FreeBSD的操作系统级别上经常出现,但我仍在分析我所发现的(并试图学习libthr等等)


除了打印时间戳之外,我没有添加任何关闭挂钩,系统没有添加任何关闭挂钩,没有要删除的文件,也没有runFinalizersOnExit。系统似乎在本机方法java.lang.Shutdown.halt0中花费时间,我仍在尝试分析该方法。

操作数0xf是UMTX\u OP\u WAKE\u PRIVATE(请参见
/usr/src/sys/sys/UMTX.h
)。这试图唤醒内核线程,但失败了


至于它失败的原因,现在还不清楚。这可能是java中的死锁。

您有任何关机挂钩吗?您正在运行哪个版本的openjdk?更新了描述以反映OpenJDK7和有关关机顺序的一些信息。