为weka增加java中的堆大小

scr*_*Owl 19 java memory jvm weka

我正在尝试增加java中的堆大小,因为weka会不断崩溃.我使用了建议的行:

> java -Xmx500m -classpath
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

-classpath requires class path specification
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么.有什么建议?

scr*_*Owl 21

我发现的是实际问题是在文件'RunWeka.ini''\Program Files (x86)\Weka-3-6'.我用记事本打开它,在文件中间有一条线'maxheap = 512m'.

我改变了行读取'maxheap=2000m',保存了文件并重新加载了weka,这解决了我的问题.

我不确定这是否是正确的方法,但它对我有用.


Dul*_*sta 12

在终端中运行此命令:

java -Xmx1024m -jar weka.jar
Run Code Online (Sandbox Code Playgroud)


Mic*_*jer 11

省略-classpath选项.只使用-Xmx500m选项.

所以,而不仅仅是:

java weka.core.Instances data/soybean.arff
Run Code Online (Sandbox Code Playgroud)

你做:

java -Xmx500m weka.core.Instances data/soybean.arff
Run Code Online (Sandbox Code Playgroud)

如果您通过某些脚本(例如RunWeka.bat)运行weka,那么您需要修改该脚本(使用一些文本编辑器,如记事本).


Wes*_*sta 8

如果您在Windows上使用Weka 3.8.1,则可以通过编辑javaOpts参数来省去很多麻烦.该参数maxheap不再使用,因此您可以javaOptsRunWeka.ini文件中进行如下设置:

javaOpts= -Xmx1040m
Run Code Online (Sandbox Code Playgroud)

1040m您要分配的内存量在哪里.

请注意该文件区分大小写.

有很多方法可以设置它,但这是让Weka在这个版本的Windows环境中运行的更快方法.

编辑:如果您希望Weka 1gb在Windows 上使用多个,则需要安装JDK.常规JRE不会这样做.


Rob*_*lak 5

官员Weka的答案(对于所有的操作系统和Weka的版本)上可以找到http://weka.wikispaces.com/OutOfMemoryException.

如果您在Windows上使用最新的Weka版本,答案是:

修改文件中的maxheap参数RunWeka.ini.