1

我知道这个问题已被多次访问,但我还没有找到解决我的问题的方法:

我为虚拟机保留 1024 MB

> 选项(java.parameters = “-Xmx1024m”)
> 库(XLConnect)

xlcMemoryReport 只找到大约 15 MB 并且 xlcFreeMemory 没有帮助(实际上有时会进一步减少可用内存)

> xlcMemoryReport()
Java 虚拟机 (JVM) 中的可用内存量:14.79472 MB
> xlcFreeMemory()
> xlcMemoryReport()
Java 虚拟机 (JVM) 中的可用内存量:15.05308 MB

当我尝试加载一个 26 MB 的文件时,它失败了,但实际上释放了内存:

> res <- readWorksheet(loadWorkbook("bigFile.xlsx"),sheet=1)
在为函数“readWorksheet”选择方法时评估参数“object”时出错:错误:OutOfMemoryError (Java):Java 堆空间

> xlcMemoryReport()
Java 虚拟机 (JVM) 中的可用内存量:947.3003 MB

> res <- readWorksheet(loadWorkbook("bigFile.xlsx"),sheet=1)
在为函数“readWorksheet”选择方法时评估参数“object”时出错:错误:OutOfMemoryError (Java):Java 堆空间

> xlcMemoryReport()
Java 虚拟机 (JVM) 中的可用内存量:936.7464 MB

  1. 为什么 xlcMemoryReport 一开始没有找到保留的内存,但我尝试读取文件后才找到?
  2. >900 MB 是否可能不足以让 XLConnect 加载 26 MB 文件?
  3. 知道我怎样才能完成这项工作吗?(当然我可以使用 CSV 文件,但这给我的用户带来不便)
4

0 回答 0