2016-11-26 105 views
0

我试图在(目前27K行长)的OutOfMemoryError(JAVA):Java堆空间

options(java.parameters = "-Xmx4g") ; 
library(XLConnect) ; 
writeWorksheetToFile("H:/R/myfile.xlsx",DataTable,sheet="Sheet1",startRow=row1,startCol=1,header=FALSE,rownames=FALSE) 

几秒钟后,我收到了错误的Excel表格的末尾添加10多个行

OutOfMemoryError(Java):Java堆空间

我该如何解决这个问题?不应该选项(java.parameters =“-Xmx4g”)工作?

+0

'不应该选择......工作吗?'...如果您尝试执行的操作超出可用的堆空间,则不行。您使用的是什么版本的Java(例如64位Java 8)? –

+0

使用'options(java.parameters =“-Xmx512m”)'它不起作用?对于字节较弱的数据,应该足够了。如果你超过堆空间,也许它不被考虑的价值。尝试使用jvisualvm或类似的工具来检查内存是否在运行时被适当地配置 – davidxxx

+0

尝试使用'java.parameters =“-Xmx8g”' –

回答

0

尝试使用openxlsx包。我在使用XLConnect和Java时遇到了问题。

+0

我很喜欢XLconnect,但我放弃,因为总是弹出非确定性错误。现在执行'm = matrix(c(1,2,3,4,5,6,7,8,9),3); writeWorksheetToFile(“H:/R/m.xlsx”,m,sheet =“Sheet1”,rownames = FALSE);'给我错误:ClassCastException(Java):org.apache.xmlbeans.impl.values.XmlComplexContentImpl can not be强制转换为org.openxmlformats.schemas.spreadsheet.xml.x2006.main.CTWorkbookPr'当然,如果我在另一个R上运行相同的代码,它完美地工作。 – Carlo

+0

HI @DataMunger我试图使用openxlsx,但收到错误“在Windows上尝试installr :: install.rtools()”。如果我尝试这样做,我会收到一个更加神秘的“loadNamespace(name)中的错误:没有名为'installr'的包,我无法在包列表中找到这个rtools。我应该怎么做才能用openslsx进行任何活动? – Carlo

+0

您可以在 setup_rtools {devtools} \t找到Rtools R Documentation Find rtools。 描述 要在Windows上构建二进制包,Rtools(可在http://cran.r-project.org/bin/windows/Rtools/找到)需要在路径上。默认安装过程不会添加它,所以这个脚本找到它(首先查看路径,然后在注册表中)。它还会检查rtools的版本R. 使用 setup_rtools(缓存= TRUE,调试= FALSE) 的版本,这应该允许您安装Rtools相匹配,然后你要善于去与openxlsx。 –

相关问题