Solaris环境上JVM堆内存设置和Runtime.exec使用影响

来源:互联网 发布:高级java工程师充电班 编辑:程序博客网 时间:2024/04/30 03:07

在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 

原创粉丝点击