gpt4 book ai didi

Java和虚拟内存ulimit

转载 作者:搜寻专家 更新时间:2023-10-31 20:20:50 24 4
gpt4 key购买 nike

我正尝试在虚拟内存被 ulimit -v 2000000 限制为 2GB 的环境中使用 java,但出现内存错误。在此环境中运行 java -version 会得到:

$ java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

无论我将 -Xmx 设置得多么低,我都无法让 java 在此环境下运行。但是,如果 ulimit -v 设置为 2.5GB,那么我可以将 -Xmx 设置为 250m,但不能更高。

$ java -Xmx250m -version
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

$ java -Xmx251m -version
#
# There is insufficient memory for the Java Runtime Environment to continue.
# pthread_getattr_np
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)# An error report file with more information is saved as:
# ~/hs_err_pid12079.log

是否可以在使用ulimit限制虚拟内存的环境下使用java?

最佳答案

这是所有可用 JVM(oracle 或 openjdk,版本 6、7、8)中众所周知的巨大错误。在这里报道: https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1241926 https://bugs.openjdk.java.net/browse/JDK-8071445

不幸的是,Java 开发人员没有解决方案。解决方案:拼命使用各种 java 选项或停止使用 java 和基于 java 的应用程序:-(

关于Java和虚拟内存ulimit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com