1

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

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

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

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

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

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

4

0 回答 0