2012-11-13 73 views
1

Linux和Windows上我打電話R中增加的Java堆大小沒有任何影響

options(java.parameters="-Xmx512m") 

加載它依賴於任何rJava庫[R之前。特別是在使用XLConnect(使用Apache POI)讀取和寫入大型Excel文件時,這變得非常必要。然而,在我的Mac(OSX 10.8)這個接縫沒有任何效果:

options(java.parameters="-Xmx512M") 
library("XLConnect") 
> Loading required packages: XLConnectJars 
> Loading required packages: rJava 
> XLConnect 0.2-1 by Mirai Solutions GmbH 
> http://www.mirai-solutions.com , 
> http://miraisolutions.wordpress.com 
xlcMemoryReport() 
> Amount of free memory in the Java Virtual Machine (JVM): 60.72328 MB 

我的Java版本是:

java version "1.7.0_07" 
Java(TM) SE Runtime Environment (build 1.7.0_07-b10) 
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode) 

什麼我可以錯過任何提示?

+2

你真的得到OutOfMemory錯誤嗎?直到它需要(並且釋放內存反映出來),堆可能不會增長到其最大大小。 – Thilo

+0

@Thilo非常感謝!今天早上我遇到了另一個堆大小問題,實際上是OutOfMemories。比我解決這個問題,但沒有運行內存要求苛刻的任務,但只是檢查'xlcMemoryReport。如果您發表評論作爲答案,我會接受它。 – Beasterfield

回答

2

你是否真的得到OutOfMemory錯誤?

堆可能不會增長到其最大大小,直到它需要,所以報告的「空閒內存」將只是當前分配內可用的內存(如果需要,可以允許擴展該內存,直到最大值爲最後到達)。

+0

看到我對我的問題的評論:-) – Beasterfield