JVM内存不足异常

本文介绍了在部署Web项目时遇到的两种常见JVM内存不足异常及其解决方案,包括PermGenSpace和JavaHeapSpace错误,并提供了具体的JVM参数设置建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM内存不足异常

 

Web Server中布署项目,出现内存不足异常。例TOMCAT,本机Windows ,内存1G

 

异常1:java.lang.OutOfMemoryError: PermGen space

java.lang.OutOfMemoryError: PermGen space

 

PermGen space,全称是Permanent Generation space,
就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域
从字面看,和存放Instance的Heap区域不同,
GC(Garbage Collection)应该不会对PermGen space进行清理
所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误

 

解决:设置JVM的参数:-XX:PermSize=128M -XX:MaxPermSize=256M

 

异常2:CGLIB Enhancement failed:java.lang.OutOfMemoryError: Java heap space

 

CGLIB Enhancement failed:java.lang.OutOfMemoryError: Java heap space

 

解决:设置JVM的参数:-Xms128m -Xmx512m

 

综上所述:

 

JVM的内存设置参数:-Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M


设置后,系统布署顺利,而且TOMCAT的启动速度和系统运行速度都显著提高。

 

### 增加 Android Studio 的 JVM 堆内存大小 为了有效解决 Android Studio 中 JVM 内存不足的问题,可以通过调整 Gradle 和 IDE 自身的 JVM 参数来增大可用堆内存。 #### 修改 `gradle.properties` 文件中的参数设置 通过编辑项目的 `gradle.properties` 文件可以增加构建过程中使用的最大堆空间: ```properties org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 ``` 上述命令将最大堆尺寸设为 2GB 并启用了永久代的最大容量[^1]。 #### 调整 Android Studio 启动选项 对于 Android Studio 应用程序本身,默认情况下也会有其自身的 JVM 配置。这些配置存储于安装路径下的 `bin/studio64.exe.vmoptions` 或者针对 32 位系统的 `studio.exe.vmoptions` 文件中。建议备份原文件后再做更改,例如将其重命名为 `.bak` 扩展名以便日后恢复。之后可以在该文件里加入如下行以提升性能表现: ```text -Xms1024m -Xmx4096m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=512m -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+UseCompressedOop ``` 此段脚本不仅增加了初始分配给 Java 运行时环境 (JRE) 的最小 (-Xms) 及最大 (-Xmx) 内存量至更高水平,同时也优化了一些其他方面如新生代垃圾收集区大小(-XX:NewSize,-XX:MaxNewSize),以及预留代码缓存区域大小等参数[^2]。 完成以上两步操作后重启 Android Studio 即可使新的 JVM 设置生效,从而缓解因内存资源紧张而导致的各种异常状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值