jpype无法为JVM保留足够的空间,同时有足够的RAM可用

时间:2016-03-21 23:31:55

标签: python out-of-memory jpype

我目前正在开发一个项目,我需要从Python代码调用一个相当大的jar文件。为此,我使用了jpype和一个较小的存根jar,代码完美无缺。但是,较大的jar需要大量内存,因此我在传递给-Xmx调用的参数中设置startJVM。但是,这在Python中使用could not reserve enough space for object heap error崩溃了。

我用于-Xmx的值是1099m,如果我将此值减1并使用1098m,则可以保留足够的内存并启动JVM。但是,要成功使用Jar,我需要超过1098.

在我的机器上调用startJVM足够的内存时,通常至少3GB。此外,如果我使用java -Xmx2000m -jar直接从命令行运行jar,那么它会启动而没有任何问题。这让我相信我可能做错了什么。

我在使用Python 2.7 32位和32位Java 8 JDK的64位Windows安装上运行代码。以下行是我用来从Python启动JVM的行:

startJVM("PATH", "-Xmx1099m", "-Djava.class.path=PATH_TO_JAR")

有没有人知道使用超过1089 MB堆空间的jpype启动JVM的可能解决方案?

0 个答案:

没有答案