我正在嘗試增加java中的堆大小,以防止崩潰。我使用的建議路線:在java中增加堆大小爲weka
> java -Xmx500m -classpath
,但我得到了以下錯誤:
-classpath requires class path specification
我不知道這意味着什麼。有什麼建議麼?
我正在嘗試增加java中的堆大小,以防止崩潰。我使用的建議路線:在java中增加堆大小爲weka
> java -Xmx500m -classpath
,但我得到了以下錯誤:
-classpath requires class path specification
我不知道這意味着什麼。有什麼建議麼?
我發現的實際問題是文件'RunWeka.ini'
中的'\Program Files (x86)\Weka-3-6'
。我用記事本打開它,在文件中間有一行'maxheap = 512m'
。
我改行了'maxheap=2000m'
,保存了文件並重新加載了weka,這就解決了我的問題。
我不確定這是否是正確的方法來做到這一點,但它對我有效。
省略-classpath
選項。只使用-Xmx500m
選項。
所以,而不只是:
java weka.core.Instances data/soybean.arff
你這樣做:
java -Xmx500m weka.core.Instances data/soybean.arff
如果你是通過腳本運行秧雞(RunWeka.bat爲例),那麼你需要修改腳本(用一些文本編輯器如記事本)。
您需要在-classpath
之後指定類路徑,類似於PATH
env變量,您需要指定Java可以找到這些類的路徑。
-Xmx500m
設置看起來很好,除了我會建議使用512m。
somethi驗證相同ng像:java -Xmx512m -c:\ Program Files(x86)\ Java? – screechOwl 2011-12-29 00:26:26
您不需要爲Java庫設置類路徑,而只需要爲自己的類設置類路徑,所以如果您的編譯類位於工作目錄中,它可能是'java -Xmx512m -classpath .'。或者你將它們編譯成一個jar文件,然後你執行java'-Xmx512m -classpath c:\ path \ to \ your \ jarfile.jar' – Jonas 2011-12-29 00:48:17
我在Windows中運行Weka 3.6。這就是我所做的。 轉到Weka安裝目錄,你會發現一個RunWeka.bat文件。在文本編輯器中打開該文件,並在java命令行中添加-Xmx參數。
比如這個設置爲4GB內存, %_java%-Xmx4096m -classpath。 RunWeka -i \ RunWeka.ini -w \ weka.jar -c%_cmd% 「%2」
的官方Weka的答案(對於所有的操作系統和Weka的版本),可以在http://weka.wikispaces.com/OutOfMemoryException找到。
您是在Windows上使用最新的Weka版本的情況下,the answer是:
Modify the
maxheap
parameter in theRunWeka.ini
file.
運行此命令在終端:
java -Xmx1024m -jar weka.jar
對於Mac OS,你必須編輯配置文件,以增加Weka UI應用程序的堆大小。
退出了Weka中,如果它正在運行。
將光盤放入/Applications/weka-XXX.app/Contents或安裝weka可執行文件的位置。那裏將有一個名爲Info.plist
的文件。它是一個XML文本文件。我建議您將其副本保存到其他位置,因爲您需要在下一步中對其進行編輯。
在您最喜歡的文本編輯器中打開Info.plist
(XML)文件,並查找名爲「VMOptions」的塊。應該有一個值爲「-Xmx256M」或類似specifies the maximum heap size。您應該將該值更改爲更大的值,例如「-Xmx1024M」。
開始Weka。
Weka的官方答案是正確的。但....關鍵是首先擺脫所有的JVM文件並安裝相關的32位或64位Java版本。不使用相關版本會導致許多問題,包括無法將堆增加到1024m以上(通過更改ini文件)。
在Ubuntu上我有同樣的問題 ,但我通過增加內存量使用的Java虛擬機運行 此解決它:秧雞-m1024米
使用這個命令做到這一點的最好辦法
java -Xmx1024m -[weka classifier] -t [training file path]
上面的答案太舊了(最後一個是1年前)。 我在Windows 10
有同樣的問題,我的WEKA(版本3.8.1)我有一個問題要更新堆的大小,我固定它是通過增加一個環境變量(在控制面板)的方式如下:
JAVA_OPTS = -Xms30000m -Xmx30000m
提示:只要確保RunWeka.ini使用這個環境變量。
在上面的例子中,我給WEKA 30GB。有用。
希望對一些人有幫助。
如果您在Windows上使用Weka 3.8.1,您可以通過編輯javaOpts
參數來節省很多麻煩。參數maxheap
不再使用,所以你可以在RunWeka.ini文件中設置javaOpts
這樣的:
javaOpts= -Xmx1040m
哪裏1040m
是要分配的內存量。
請注意文件區分大小寫。
有很多方法可以設置它,但這是讓Weka在此版本上運行Windows環境的更快方式。
編輯:如果您希望Weka在Windows上使用多於1gb
,則需要安裝JDK。普通的JRE不會這樣做。
你還應該看看默認的線程堆棧大小20MB是否足夠。增加值,以在文件/Applications/weka-3-8-1-oracle-jvm.app/Contents/Info.plist(上MAC)50MB象下面這樣:
<string>-Xss50M</string>
If we are using Weka Workbench CLI or Knowledge explorer we need to change as below.
作爲文檔建議運行時參數應爲-Xmx [size_required] m其中[size_required]是您希望保留的內存大小以避免內存異常。
打開RunWeka.ini
Define maxheap=[size_required]G
在我來說,我一直maxheap = 4G,人們可以像maxheap =4096米和添加-Xmx#maxheap#設置爲#設置所有運行選項(前綴與 「cmd_」)部分旁邊的java命令 像下面
cmd_default=javaw -Xmx#maxheap# ...............
cmd_console=cmd.exe /K start cmd.exe ..................
cmd_explorer=java -Xmx#maxheap# .................
cmd_knowledgeFlow=java -Xmx#maxheap#....................
maxheap=4G
通過重新啓動了Weka和幫助>>系統的系統信息
這對我不起作用 – vikifor 2013-09-18 14:19:47
你可以改變命令的最大堆大小同時運行weka.jar。同樣的事情 – Maxi 2015-12-14 01:47:44
Weka的更新版本接受'-m'選項。所以你可以運行'weka -m 2g'。 – giusti 2018-02-19 18:13:57