Java 使用Spark生成调用图(烟尘-Eclipse框架)-内存问题
我正在尝试使用Spark(在Costy-Eclipse框架中)为java代码生成调用图。我从HelloWorld开始。即使对于这个小例子,看起来系统内存也不够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
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选项,而不是烟尘选项。在进一步的研究中,我发现非常有用,它解决了这个问题。