解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题
PermGen space
的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space
。从文字上看就是内存溢出,解决方法是加大内存。为什么会内存溢出,这是由于这块内存主要是被JVM
存放Class
和Meta
信息的,Class在被Load
的时候被放入PermGen space
区域,它和存放Instance
的Heap
区域不同,GC
(Garbage Collection)不会在主程序运行期对PermGen space
进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
问题背景:
Tomcat
启动了太多的项目,或者有的项目引用了太多的jar
包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space
的错误,我们知道可以通过jvm
参数 -XX:MaxPermSize=256m
来配置这部分堆内存的大小。
在eclipse
中如何配置tomcat
的内存大小呢?
手动设置MaxPermSize大小
首先需要双击tomcat server
,如下图所示:
双击上图后会出现,tomcat
配置的界面:
然后再点击上图的,红色矩形框的链接,会弹出tomcat
参数配置的节面,要选择Arguments
参数框:
如上图在VM arguments
文本框内设置 -XX:MaxPermSize=256m
的值即可, 当然此处还可以添加其他jvm
参数,比如最大内存,最小内存等。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
- 解决水平ListView在ScrollView中出现的滑动冲突
- Android逆向分析(2) APK的打包与安装背后的故事
- Activity之间传递大数据问题
- React Native入门(二)Atom+Nuclide安装、配置与调试
- React Native入门(一)环境搭建与Hello World
- android 自定义Viewpager实现无限循环
- Android内存优化(二)DVM和ART的GC日志分析
- Android Material Design之Toolbar与Palette实践
- android-async-http框架源码分析
- 使用Buck构建Android工程
- android 实现淘宝收益图的折线
- React Native入门(三)组件的Props(属性)和State(状态)
- Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)【Dalston版】
- PNG图片压缩对比分析
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释