程序在生产环境运行中,偶尔会碰到抛出java.lang.OutOfMemoryError: Java heap space此异常,简称为堆内存溢出,碰到此问题,我们可以重两方面着手:
1.代码层面:检查是否有递归或死循环,大量循环创建实例,一次性查询大量数据,忘记关闭IO流等情况;
2.调整JVM参数:set JAVA_OPTS=-Xms512m -Xmx1024m
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:Javaheap最大值,使用的最大内存调整原则:
(1).-Xmx不得超过系统物理内存的80%,-Xms -Xmn 禁止设置不要超出物理内存的大小。
否则服务器启动时会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。
(2).如果-Xms的值设置过小,除了会导致以上异常外,程序可能还会变慢;
通常-Xms和-Xmx设置相等即可
关于java.lang.OutOfMemoryError: Java heap space的解决方案
最新推荐文章于 2025-05-20 17:21:06 发布