首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java与虚拟内存上限

Java与虚拟内存上限
EN

Stack Overflow用户
提问于 2013-11-11 15:52:04
回答 1查看 6.8K关注 0票数 5

我试图在一个环境中使用java,在这个环境中,ulimit -v 2000000将虚拟内存限制在2GB以内,但是会出现内存错误。在此环境中运行java -version将提供:

代码语言:javascript
复制
$ 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设置为250米,但不能更高。

代码语言:javascript
复制
$ 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

在用于限制虚拟内存的环境中,可以使用java吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-15 13:26:24

在所有可用的JVM (oracle或openjdk,version 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的应用程序:-(

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19910468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档