在solaris环境上运行JAVA程序时,JVM的堆内存设置应小于总虚拟内存的50%,实际上最好小于30%,如果超过50%则系统中所有使用
到Runtime.exec这种创建子进程java.lang.Process的操作都将失败。创建子进程会复制一份父进程的内存,如果交换内存不够则会出现
IO异常:java.io.IOException: 没有足够的空间
2007-11-12 15:58:03,126 ERROR [STDERR] at java.lang.UNIXProcess.forkAndExec(Native Method)
2007-11-12 15:58:03,127 ERROR [STDERR] at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
2007-11-12 15:58:03,128 ERROR [STDERR] at java.lang.Runtime.execInternal(Native Method)
2007-11-12 15:58:03,129 ERROR [STDERR] at java.lang.Runtime.exec(Runtime.java:573)
JDK相关故障为:5049299,4227230。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5049299