如何为Runtime.exec()重现java.io.IOException异常?

时间:2013-02-07 07:16:33

标签: java exception runtime.exec

有时,我的java应用程序中出现“java.io.IOException:error = 12,无法分配内存”。

我想在我的机器上重现它。 有没有办法重现这个错误?什么时候Runtime.exec会抛出java.io.IOException?

FYI, [root @ ara~] #java -version java版“1.6.0_22” Java(TM)SE运行时环境(版本1.6.0_22-b04) Java HotSpot(TM)64位服务器VM(版本17.1-b03,混合模式)

2 个答案:

答案 0 :(得分:1)

您可以从this获得答案:

  1. 在旧的OpenJDK版本上试用它。这似乎是一个JVM错误。
  2. overcommit_memory设为2(不要过度使用)

    echo 2 > /proc/sys/vm/overcommit_memory

  3. 运行以下程序:

    public class ReproduceException {
    
       public static void main(String[] args) throws IOException {
            Runtime.getRuntime().exec("ls");
       }
    
    }
    

答案 1 :(得分:0)

我已经链接了一个问题,该问题解释了导致此问题的原因并至少提供了两种解决方法。根据解释,您应该能够找出导致它的策略...如果您在阅读Q& A后仍然感兴趣。