更新dota2时发生错误应用配置无效_JVM中初始和最大堆大小无效 - 如何修复

今天遇到一个这样的问题

在启动JVM时提示“ 无效的初始堆大小:-Xms = 1024M ”,甚至在将最大堆大小从1024 m更改为512M之后,它仍然崩溃,提示的错误是“无效的初始堆大小:-Xms = 512M,无法创建的Java虚拟机“。

我检查了几乎所有的东西,从检查我的机器有多少物理内存到JVM参数中的任何类型的错误,结果发现我把MB放进去了,而不是M.

。爪哇同时接受小的案和用于基洛,米加和演出的大写案例你可以使用米或M,G或G ^等,但不能使用MB,GB或KB。

使用-Xmx指定的最大堆大小也可能出现类似的问题。同样从Java 6更新18开始,JVM中的默认堆大小也发生了变化。

e756cba0950098519f5ad63a038e83af.png

JVM中的初始和最大堆大小无效

以下是在Java的的中指定最大和最小堆大小时常见的错误列表:

java - xmx4056 - xms4056 - HelloWorld

问题:VM初始化过程中发生错误,对象堆+ VM数据的大小超过了可表示的最大大小

原因:-Xms或-Xmx的值大于或接近物理内存的大小,因为我的机器有4GB内存。

java -Xmx1056M -Xms2056M HelloWorld

问题:VM初始化期间发生错误,指定的最小和最大堆大小不兼容

原因:-Xms的值大于-Xmx

java -Xms2056M HelloWorld

问题:VM初始化过程中发生错误,无法为对象堆预留足够的空间

原因:只提供-Xms,不提供-Xmx如果你犯了一个错误,而不是-Xmx你指定了两次-Xms,你也会得到这个错误,上次发生在我的朋友身上。

命令:java -Xms1024 M -Xmx1024M HelloWorld

问题:VM初始化时发生错误,初始堆太小

原因:如果您的空间在1024和中号之间,那么JVM会假设-Xms的大小仅为1024字节,并且打印错误认为它太小,JVM无法启动。

无效的堆大小

重新启动JVM时出现“无效堆大小”问题的另一个场景是,将64位JVM配置为接受内存超过4GB,但运行在32位数据模型上的内存。这种“无效堆大小”特别出现在的的Solaris机器中,J2SE安装持续32位和64位J2SE实现。在窗口和Linux等其他环境中,32位和64位JVM分别安装。如果不指定-d32或-d64,安装在的的Solaris机器上的64位JVM将运行32位模型,这将不接受4GB的最大堆大小,因此“无效堆大小”。

您可以通过使用选项-d64运行Solaris JVM来解决这个问题。命令行选项允许JVM在可用的情况下使用64位数据模型。

公共类HelloWorld {

public static void main(String args []){

System.out.println(“HelloWorld to Java”);

}

}

$ test @ nykdev32:~java -version

java版“1.6.0_14”

Java(TM)SE运行时环境(版本1.6.0_14-b08)

Java HotSpot(TM)服务器VM(内置14.0-b16,混合模式)

$ test @ nykdev32:~java -Xmx4096M HelloWorld

最大堆大小无效:-Xmx4096M

指定的大小超出了最大可表示大小。

无法创建Java虚拟机。

$ test @ nykdev32:~java -d64 -Xmx4096M HelloWorld

HelloWorld到Java

如果你从命令行运行的Java程序,你得到无法创建的Java虚拟机的错误消息,以及无效堆的错误,但如果你从Eclipse的中运行程序,你就不会得到“无法创建的Java虚拟机“的消息,你只会看到控制台的错误信息。

关于Java中的默认堆大小,从Java 6更新18开始,JVM在32位和64位机器以及客户机和服务器JVM模式下计算默认堆大小的方式发生了重大变化:

1)初始堆空间和最大堆空间越大,性能越好。

2)默认最大堆空间大小为192字节的物理内存的1 /,所以对于1G机器,堆的最大大小是256MB。在程序创建足够的对象来填充初始堆空间之前,不会使用最大堆大小,初始堆空间要小得多,但至少为8MB,即物理内存的1/64,最大1G。

3)对于服务器的Java的虚拟机,32位JVM上4GB物理内存的默认最大堆空间为1G。对于64位JVM,物理内存为128GB,则为32G。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修复DotA 2 Build Editor网页的各种问题。 这可以通过官方的DotA 2构建编辑器网站(www.dota2.com)修复当前的错误更新22/01/2017:item-build面板现在每行显示四个项目,而不是三个,以更好地反映新的7.00 UI。 可以将“不朽之盾”和“奶酪”之类的非标准项目再次添加到您的构建并按Alt键单击-这样,所有功能正常的非标准项目都已重新添加到编辑器,并且已添加占位符图标7个河水小瓶。 此外,还进行了一些UI调整,以使编辑器看起来更漂亮。 2016年9月5日更新:物品升级现在与其他物品分开显示,如果添加,它将破坏您的版本。 无论如何,它们都被保留了下来,因此您可以向Web构建添加其他注释。 此外,Invoker的构建编辑器页面现在可以正常工作,特别感谢:club_suit:Mr.Gouki:club_suit:报告了此问题,也不必感谢未能准备此更新的官方开发团队。 2016年2月2日更新:现在,此扩展程序还修复了项目描述面板。 2016年2月4日更新:已修复所有有关工具提示的样式错误-已为Chrome用户恢复了渐变色,并且物品的冷却间和法力消耗不再隐藏在其各自的图标后面。 当您向项目添加说明,已添加了平滑的动画。 现在,页面右上方添加了一条小消息,以确认它已正确安装并已启用。 更新2016年4月26日:现在,在6.87项更新破坏了编辑器之后,现在再次修复该编辑器。 2016年12月14日更新:再次恢复临功能,直到由官方Web团队正式修复。 通常,该网页几乎始终以英语(有是其他语言)处于“加载”状态。 此扩展程序可以解决此问题。 在实践,唯一无法正常工作的间是整个DotA 2网站都关闭(通常是与Steam社区一起关闭)。 现在,您可以再次编辑构建! 如屏幕截图所示,它还会添加所有未列出的项目,因此您可以拖入该5级Dagon,3级死灵书或升级的扩散之刃。 披露:此扩展完全不收集,使用或访问任何私人或个人数据。 曾经。 我和我的工作都不隶属于DotA 2开发团队,Steam开发团队或Valve。 支持语言:English (UK)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值