hibernate java.lang.OutOfMemoryError:Java堆空间(“-Xmx 1280 M”)

quhf5bfb  于 2022-11-30  发布在  Java
关注(0)|答案(3)|浏览(116)
java.lang.OutOfMemoryError: Java heap space
Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: Java heap space

我得到这个错误我的系统内存是3GB,我已经给了-Xmx1280M。尽管如此,我还是得到这个错误。在其他一些机器与2GB内存和-Xmx1280M选项,此错误不会出现(相同的操作)。可能是什么问题?我正在使用java VisualVM来跟踪哪些对象正在占用内存,但在OOME生成的堆非常大。加载堆需要花费大量时间,“计算保留大小”似乎永远不会结束。
我应该怎么做才能从OOME中恢复?

l2osamch

l2osamch1#

在64位JVM中运行同一应用程序可能会多消耗两倍的内存。
如果您获得OOME的计算机安装了64位JVM,而您没有例外的计算机是32位JVM,则您的方案是可能的。
没有你的应用程序,很难回答更多问题。

nkcskrwz

nkcskrwz2#

关闭服务器,删除所有缓存并重新启动。当问题仍然存在时,它必须是不同的系统配置,数据库等,并可能追溯到一些错误的编码。

2q5ifsrm

2q5ifsrm3#

将堆的最大值和最小值设置为相同的大小(-Xms 1280 m-Xmx 1280 m),以便JVM在启动时尝试获取全部的堆。这可能是因为在一台机器上没有足够大的连续内存块。
我见过病毒检查程序和其他软件阻止JVM找到连续的块,即使是在有大量空闲RAM的情况下。

相关问题