java runtime访问错误_如何解决"java.io.IOException:error = 12,无法分配内存"调用Runtime #exec()?...

Andrea Francia

66

java

runtime.exec

在我的系统上,我无法运行启动进程的简单Java应用程序.我不知道该怎么解决.

你能给我一些如何解决的提示吗?

该计划是:

[root@newton sisma-acquirer]# cat prova.java

import java.io.IOException;

public class prova {

public static void main(String[] args) throws IOException {

Runtime.getRuntime().exec("ls");

}

}

结果是:

[root@newton sisma-acquirer]# javac prova.java && java -cp . prova

Exception in thread "main" java.io.IOException: Cannot run program "ls": java.io.IOException: error=12, Cannot allocate memory

at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)

at java.lang.Runtime.exec(Runtime.java:610)

at java.lang.Runtime.exec(Runtime.java:448)

at java.lang.Runtime.exec(Runtime.java:345)

at prova.main(prova.java:6)

Caused by: java.io.IOException: java.io.IOException: error=12, Cannot allocate memory

at java.lang.UNIXProcess.(UNIXProcess.java:164)

at java.lang.ProcessImpl.start(ProcessImpl.java:81)

at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)

... 4 more

系统配置:

[root@newton sisma-acquirer]# java -version

java version "1.6.0_0"

OpenJDK Runtime Environment (IcedTea6 1.5) (fedora-18.b16.fc10-i386)

OpenJDK Client VM (build 14.0-b15, mixed mode)

[root@newton sisma-acquirer]# cat /etc/fedora-release

Fedora release 10 (Cambridge)

编辑:解决方案

这解决了我的问题,我不知道具体原因:

echo 0>/proc/sys/vm/overcommit_memory

向谁投票能够解释:)

其他信息,最高输出:

top - 13:35:38 up 40 min, 2 users, load average: 0.43, 0.19, 0.12

Tasks: 129 total, 1 running, 128 sleeping, 0 stopped, 0 zombie

Cpu(s): 1.5%us, 0.5%sy, 0.0%ni, 94.8%id, 3.2%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 1033456k total, 587672k used, 445784k free, 51672k buffers

Swap: 2031608k total, 0k used, 2031608k free, 188108k cached

其他信息,免费输出:

[root@newton sisma-acquirer]# free

total used free shared buffers cached

Mem: 1033456 588548 444908 0 51704 188292

-/+ buffers/cache: 348552 684904

Swap: 2031608 0 2031608

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值