在我的系统上,我无法运行启动流程的简单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.<init>(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)
编辑:解决方案 这解决了我的问题,我不知道为什么:
回声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
你的机器的内存配置文件是什么?例如,如果你跑步top
,那么你有多少可用内存?
我怀疑UnixProcess
执行a fork()
只是从操作系统中获取不到足够的内存(如果有内存可用,它将fork()复制该进程,然后exec()
在新的内存进程中运行ls,而且还没有达到目的)
编辑:重新。你的过量使用解决方案,它允许过量使用系统内存,可能允许进程分配(但不使用)超过实际可用内存的内存。因此,我猜想这些fork()
重复项将重复下面的注释中讨论的Java进程内存。当然,你不会使用内存,因为“ ls”将替换重复的Java进程。
问题内容: 我刚从python移植了我的应用程序,所以Go有点新。看来我遇到了记忆问题。 它在ubuntu机器上运行。通过主管。 编辑: 设置解决问题 问题答案: 对于遇到此问题的其他人,这是golang问题中的相关近期问题 对于所有受影响的人,在Linux上得到适当修复之前的临时替代方法可以是以下之一: 启用无条件过量使用: 能够无条件过载:添加交换到你的主机,用它几乎永远不会被使用,但在计算参
现在我正在尝试从git运行克隆应用程序https://github.com/frinder/frinder-app但问题是该应用程序制作了很长时间,所以应该改变bulid.gradle 但是当我尝试相同的同步实现“com.android.支持:动画矢量可绘制:28.0.0”,但如果我删除它,请继续向我显示错误28.0.0它显示如下 但我不知道是什么造成了不完全相同的版本 这是应用程序build.g
我用Tensorflow后端在Keras上做了一个CNN,我的训练集有144个例子,但是每个例子的大小为3200*101。我的CNN是非常基本的,只是为了学习,batch_size2(我试着从32减少,但没有任何改善)。一个CNN层,一个展平层和一个密集层用于输出(11类)。当我符合模型时,我的笔记本电脑显示“分配(一个大数字)超过系统内存的10”,然后冻结,即使没有运行1个时代。我不能“压缩”这
问题内容: 我正在处理几个大的txt文件,每个文件大约有800万行。以下是这些行的简短示例: 将它们存储在字典中的代码是: 它在第一个txt文件中运行良好,但是在第二个txt文件中运行时,出现错误。 我正在使用Windows 7 64bit和python 2.7 32bit,intel i5 cpu,8Gb内存。我该如何解决这个问题? 进一步说明:我有四个大文件,每个文件包含许多实体的不同信息。例
问题内容: 当我将脚本上传到服务器时,出现此错误 警告:未知:打开(/ tmp / sess_58f54ee6a828f04116c2ed97664497b2,O_RDWR)失败:第0行的未知中的权限被拒绝(13) 警告:未知:无法写入会话数据(文件)。请在第0行的Unknown中验证session.save_path的当前设置正确(/ tmp) 尽管我将/ tmp文件夹的权限设置为777,但在我
问题内容: 我正在从事android问答游戏。QuestionActivity和EndgameActivity是我游戏中的2个类。我想将游戏的控制权转移到EndgameActivity。为此,我在QuestionActivty类中添加 在方法上。但是在回答了最后一个问题后,当我的游戏控制权没有转移到EndgameActivity时,日志猫显示了以下错误。 QuestionActivity课程- E