当前位置: 首页 > 面试题库 >

无法将Java堆大小设置为大于1568

巫马修为
2023-03-14
问题内容

我正在运行具有以下属性的服务器:

Windows Server 2008 R2 Standard-64位4GB RAM

我正在尝试将应用程序的堆大小设置为3gb。我正在使用-Xmx3G -Xms3G标志。使用标志运行会导致以下错误:

VM初始化期间发生错误。无法为对象堆保留足够的空间。无法创建Java虚拟机。

我一直在玩设置,看我的天花板是多少,发现1568是我的天花板。我想念什么?


问题答案:

Java在启动时需要连续的虚拟内存。在Windows上,32位应用程序在32位仿真环境中运行,因此与32位OS相比,您获得的连续内存不会更多。cf在Solaris上,您可以获得超过3
GB的32位Java虚拟内存。

我建议您使用Java的64位版本,因为这将利用您拥有的所有内存。您仍然需要有可用的内存,但是较大的地址空间不会受到碎片的影响。

顺便说一句:堆空间只是所用内存的一部分,您需要用于共享库的内存,直接内存,GUI组件等。



 类似资料:
  • 我是Java的初学者,刚开始使用Intellij作为我的IDE。 当我使用它时,有时会延迟。 我更改了我的 xms 和 xmx 以获得更大的堆大小(xms = 1024,xmx = 2048),但它抛出了一个错误。 所以,我把它回滚了。 错误消息是这样的:“初始堆大小设置为大于最大堆大小的值”。 有什么问题? 如果可能,如何增加最大堆大小? 我用的是笔记本电脑,它有8GB内存。x64Intelli

  • 我正在使用IntelliJ 2020.1 Ultimate,并且有一个JBoss 7.0.2服务器,我想从IntelliJ运行。 我将其添加为配置: 但是当我尝试启动服务器时,我收到以下错误: IDEA.app/Contents/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar:/Applications/IntelliJ IDEA.app/Contents

  • 我遇到了我最近升级到的Intellij 2019.2.1版本的问题。我已经在智能帮助中设置了Xms和Xmx - 现在,当我启动应用程序时,在应用程序的VM参数中,我传递-Xmx800m,然后在运行应用程序时,它抛出一个错误,指出“初始堆大小设置为大于最大堆大小的值”。 有人能告诉我我在这里放了什么错误的配置吗?还是我漏掉了什么?

  • 我刚刚在VServer和JRE Build1.7.0_67-B01上安装了Ubuntu 64bit。如果我想运行一个java jar文件,它说 无效的最大堆大小:-XMX错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 我试了1M,256M,1024M,2G和4G的-XMX,都不起作用。是不是有我不知道的隐藏设定? 下面是我使用的命令:

  • 我使用的是64位Ubuntu和java VM64位版本。 我有8GB内存。 我无法将java堆大小更改为4096M,甚至2048M也不行。 我试过这些东西: 产出: x86_64 OpenJDK 64位服务器VM(构建11.0.4+11-post-ubuntu-1ubuntu218.04.3,混合模式,共享) 当我试图更改堆大小时: 输出

  • 我使用的是SpringBoot2.0。3释放。我想增加HikariCP的最大池大小,默认情况下为10。 我试着在带有 spring.datasource.hikari.maximum-池-大小=200 但是它不起作用,因为在日志中它仍然显示最大池大小为10。 我想改变的原因是,我不知怎么地达到了登台的极限,我不知道是什么原因造成的。