PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。

OutOfMemoryError: PermGen space从表面上看就是内存溢出解决方法也一定是加大内存

为什么会内存溢出
:  
  这一部分用于存放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)那么就会产生此错误信息了。

解决方法1:
  手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh
  在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
  JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 建议:
  将相同的第三方jar文件移置到tomcat/shared/lib目录下,
  这样可以达到减少jar 文档重复占用内存的目的。

解决方法2
  Tomcat配置中的 VM options选项,添加: 
    -Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
-Xms,表示程序启动时,JVM 堆的初始化最小尺寸参数;
-Xmx,表示程序启动时,JVM 堆的初始化最大尺寸参数;
-XX:PermSize,表示程序启动时,JVM 方法区的初始化最小尺寸参数;
-XX:MaxPermSize,表示程序启动时,JVM 方法区的初始化最大尺寸参数。
 

最新文章

  1. Tomcat源代码-门面模式(Facade)
  2. ZooKeeper:Quick Start
  3. 【Leafletjs】1.创建一个地图
  4. LANDR:在线母带处理
  5. LeetCode Game of Life
  6. Linux系统cpu 100%修复案例
  7. 在安装ISE的情况下,充分利用ISE的安装目录,查找资料
  8. JSON返回的自定义
  9. HornetQ
  10. js对敏感词的判断
  11. Android studio中的一次编译报错’Error:Execution failed for task ':app:transformClassesWithDexForDebug‘,困扰了两天
  12. CSS弹性盒子的基本用法
  13. 探讨e.target与e.currentTarget
  14. Beginning SDL 2.0(5) 基于MFC和SDL的YuvPlayer
  15. python中的with
  16. hdu 4956
  17. 数据结构与算法之二叉树 ——in dart
  18. OA项目Spring.Net代替抽象工厂(三)
  19. addslashes — 使用反斜线引用字符串
  20. d3.js 之增加感染力:使用转场效果

热门文章

  1. Laravel 5.2分页--怎么在一个页面实现两个以上的列表分页,互不影响?
  2. DML_DDL_触发器
  3. SwipeRefreshLayout,用最少的代码定制最美的上下拉刷新样式
  4. Oracle Database 11g : SQL 基础
  5. Android “Command” from work summary
  6. C#概念总结(一)
  7. Nginx详解十一:Nginx场景实践篇之Nginx缓存
  8. Python中的函数介绍
  9. centos之mysql安装配置使用
  10. mysql optimize table