Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spark生成调用图(烟尘-Eclipse框架)-内存问题_Java_Eclipse_Soot - Fatal编程技术网

Java 使用Spark生成调用图(烟尘-Eclipse框架)-内存问题

Java 使用Spark生成调用图(烟尘-Eclipse框架)-内存问题,java,eclipse,soot,Java,Eclipse,Soot,我正在尝试使用Spark(在Costy-Eclipse框架中)为java代码生成调用图。我从HelloWorld开始。即使对于这个小例子,看起来系统内存也不够 Soot has run out of the memory allocated to it by the Java VM. To allocate more memory to Soot, use the -Xmx switch to Java. For example (for 400MB): java -Xmx400m soot.M

我正在尝试使用Spark(在Costy-Eclipse框架中)为java代码生成调用图。我从HelloWorld开始。即使对于这个小例子,看起来系统内存也不够

Soot has run out of the memory allocated to it by the Java VM.
To allocate more memory to Soot, use the -Xmx switch to Java.
For example (for 400MB): java -Xmx400m soot.Main .
我的机器是基于Windows的4GB Core I-5。运行的eclipse进程是javaw.exe。即使使用烟尘的Helloworld也会出现这种内存不足行为吗?我刚开始运行java评测,我不确定库类是否会增加巨大的开销

或者可能正确的问题是-我如何使用-Xmx开关在Windows上的Eclipse中运行内存更大的烟尘-有人这样做了吗

下面是Eclipse中的命令。我在Spark分析中使用了一些简化选项

soot.Main     --w --d C:\Users\nbalaji\workspace\HelloWorld\sootOutput 
--process-path C:\Users\nbalaji\workspace/HelloWorld/src;    
--cp /C:/Users/nbalaji/workspace/HelloWorld/bin/, < bunch of Java/jre7 files >
coomit.Main--w--d C:\Users\nbalaji\workspace\HelloWorld\sootOutput
--进程路径C:\Users\nbalaji\workspace/HelloWorld/src;
--cp/C:/Users/nbalaji/workspace/HelloWorld/bin/,
编辑:现在已解决此问题。 来自烟尘生存指南:设置跑步时 配置您应该向JVM中添加以下参数-Xmx512m
-Xss256m增加虚拟机内存。

使用大量内存不是错误。您的Hello World程序可传递地调用数千个方法,所有这些方法都经过分析

如异常消息所示,您应该使用:

java -Xmx400m soot.Main ...
这是一个JVM选项,而不是烟尘选项。

在进一步的研究中,我发现非常有用,它解决了这个问题。