Solaris - 为什么java.lang.UNIXProcess.forkAndExec(Native Method)挂起 [英] Solaris - Why is java.lang.UNIXProcess.forkAndExec(Native Method) hanging

查看:491
本文介绍了Solaris - 为什么java.lang.UNIXProcess.forkAndExec(Native Method)挂起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Solaris上运行了一个java应用程序。此应用程序使用Runtime.exec定期启动外部进程。似乎在一段时间之后,多次成功启动此类流程,将启动流程。此时(几分钟后)进行的线程转储显示java.lang.UNIXProcess.forkAndExec被卡住。以下是从线程转储中获取的相关堆栈跟踪的顶部:

I have a java application running on Solaris. This application regularily launches external processes using Runtime.exec. It seems that after a while, having successfully launched such processes many time over, a launching of a process will hang. A thread dump taken at this point (and several minutes later) reveals that java.lang.UNIXProcess.forkAndExec is "stuck". Following is the top of the relevant stack trace taken from the thread dump:

"Thread-85305" prio=3 tid=0x0000000102aae800 nid=0x21499 runnable [0x7fffffff2a3fe000]
   java.lang.Thread.State: RUNNABLE
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    at java.lang.ProcessBuilder.start(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)

我有阅读其他人经历过的一些论坛,因为没有足够的空间或没有足够的内存,因为AndExec抛出了IOException,但我在这里没有收到此错误。我现在正在等待获得pstack的结果,希望它能揭示更多的信息。

I have read through some forums where others have experienced forAndExec throwing an IOException due to not enough space or not enough memory, but I'm not getting this error here. I'm now waiting to get the results of pstack in the hope that it will reveal more information.

有没有人知道如何解决这个问题?
谢谢,
Mike

Does anyone have any idea on how to resolve this issue? thanks, Mike

推荐答案

安装Sun Alert Patch Cluster就可以了。

Installing the Sun Alert Patch Cluster will do the trick.

这篇关于Solaris - 为什么java.lang.UNIXProcess.forkAndExec(Native Method)挂起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆