运行java -version时“无法为对象堆保留足够的空间”

我知道这是一个常见的问题/问题.我想知道从哪里开始.

Windows Server 2008上运行java,我们有65GB内存,它显示25GB免费. (目前有几个人在运行流程).

systeminfo | grep -i记忆

说明:

Total Physical Memory: 65, 536 MB
Available Physical Memory: 26,512MB
Virtual Memory: Max Size 69,630 MB
Virtual Memory: Available 299 MB
Virtual Memory: In Use: 69, 331 MB. 

真的只是想知道我如何解决这个问题.

>我从哪里开始?
>更多的虚拟内存是什么意思
使用比物理内存,这是为什么java不会启动?
>是吗
java想要使用虚拟内存而不是物理内存?

java -version

给我:

在VM初始化期间发生错误
无法为对象堆保留足够的空间

更具体的问题:

>为什么JVM不想使用免费的音乐记忆?
>如果不指定Xms参数,java命令(如java -version)要使用多少内存?
>简单地分配更多的虚拟内存是一个很好的解决方案吗?

最佳答案 正如我在遇到类似问题时发现的那样(虽然系统内存少得多 – 请参阅
Cannot run a 64-bit JVM in 64-bit Windows 7 with a large heap size),在Windows上,JVM将尝试分配连续的内存块.

所以我的赌注是,虽然你有足够的总内存,但你没有足够的连续内存.

点赞