Java.lang.OutOfMemoryError解决方法:PermGen space错误处理
5星 · 超过95%的资源 需积分: 16 121 浏览量
更新于2024-09-12
3
收藏 35KB DOC 举报
Java.lang.OutOfMemoryError解决办法
Java.lang.OutOfMemoryError是Java应用程序中的一种常见错误,它有两种形式:PermGen space和Java heap。 PermGen space是指永久保存区域,用于存放Class和Meta信息,而Java heap是指实例对象的存储区域。下面我们将详细介绍PermGen space和Java heap的 OutOfMemoryError解决办法。
PermGen space的OutOfMemoryError解决办法
PermGen space的OutOfMemoryError是指永久保存区域内存不足,导致无法存放Class和Meta信息。这种错误常见于Web服务器对JSP进行precompile的时候,因为JSP编译需要加载大量的Class文件。
解决方法:
1. 手动设置MaxPermSize:可以通过设置JAVA_OPTS环境变量来增加PermGen space的大小,例如:`-XX:MaxPermSize=256m`。
2. 减少Class的加载:减少应用程序中加载的Class数量,或者使用类似于 proxool 的库来减少Class的加载。
3. 更新cglib版本:如果使用了老版本的cglib,可能会导致PermGen space的OutOfMemoryError,更新到最新版本可以解决这个问题。
4. 使用common-logging:log4j可能会导致PermGen space的OutOfMemoryError,使用common-logging可以减少这种错误的可能性。
Java heap的OutOfMemoryError解决办法
Java heap的OutOfMemoryError是指实例对象的存储区域内存不足,导致无法存放对象实例。这种错误常见于应用程序中大量创建对象实例的情况。
解决方法:
1. 手动设置-Xmx和-Xms:可以通过设置JAVA_OPTS环境变量来增加Java heap的大小,例如:`-Xms256m -Xmx256m`。
2. 减少对象创建:减少应用程序中创建对象实例的数量,或者使用对象池来减少对象创建。
3. 使用垃圾回收器:使用垃圾回收器可以减少Java heap的内存使用,例如:`-XX:+UseConcMarkSweepGC`。
Tomcat中的OutOfMemoryError解决办法
在Tomcat中,OutOfMemoryError可能是由于PermGen space或Java heap的内存不足引起的。解决方法可以是:
1. 手动设置MaxPermSize和-Xmx:可以通过设置JAVA_OPTS环境变量来增加PermGen space和Java heap的大小。
2. 减少Class的加载:减少应用程序中加载的Class数量,或者使用类似于 proxool 的库来减少Class的加载。
3. 更新cglib版本:如果使用了老版本的cglib,可能会导致PermGen space的OutOfMemoryError,更新到最新版本可以解决这个问题。
OutOfMemoryError的解决办法是多方面的,需要根据实际情况选择合适的解决方法。
2015-10-26 上传
2023-10-31 上传
2023-10-28 上传
2023-12-27 上传
2023-05-25 上传
2024-08-02 上传
www476907899
- 粉丝: 26
- 资源: 54
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析