java.lang.OutOfMemoryError: PermGen space

摘要

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。

背景

最近公司的一个项目要求更换新版UI,但人手不足,为了赶上计划工期,帅帅哒的我就这样愉快地被充当救火员了。初次拉下项目部署好,启动后发现报错了–java.lang.OutOfMemoryError: PermGen space

分析

内存中加载的数据量过于庞大,如一次从数据库取出过多数据?(基于本项目内分析)

解决方法

如果是在IDE中开发项目,以Eclipse为例

右键点击项目名->Run A ->Run Configurations->Arguments VM arguments (虚拟机参数)最后一行添加上

     -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

注解

-Xms256m:表示JVM Heap(堆内存)最小尺寸256MB,初始分配
-Xmx256m:表示JVM Heap(堆内存)最大允许的尺寸512MB,按需分配。
说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。-XX:PermSize=512MB 最小尺寸,初始分配
-XX:MaxPermSize=512MB 最大允许分配尺寸,按需分配,过小会导致:java.lang.OutOfMemoryError: PermGen space
说明:PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)的大小,如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。MaxPermSize缺省值和-server -client选项相关。
-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m

补充

如果不是在IDE中开发项目,则需要更改tomcat的配置文件:

Windows环境下:%tomcat_home%/bin/catalina.bat文件:
在最开始的位置加上:

set JAVA_OPTS=-server -Xms256m -Xmx256m -XX:PermSize=512M -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit %JAVA_OPTS%

注意:如果只更改catalina.bat文件,而是通过IDE启动tomcat,则IDE会忽略掉catalina.bat文件中设置的参数,所以最好就是在2处都进行更改。

同理:Linux环境下:修改catalina.sh文件,在

echo "Using CATALINA_BASE:   $CATALINA_BASE"

之前添加

JAVA_OPTS="-server -Xmx256m -Xms256m -XX:PermSize=512M -XX:MaxPermSize=512m"

java.lang.OutOfMemoryError: PermGen space相关推荐

  1. java.lang.OutOfMemoryError: PermGen space及其解决方法

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决 ...

  2. IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常

    IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常 参考文章: (1)IntelliJ IDEA的Maven项目 ...

  3. JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space

    JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space 参考文章: (1)JAVA编译异常处理:java.lang.OutOfMemoryError: ...

  4. Tomcat发布Maven项目遇到异常:java.lang.OutOfMemoryError: PermGen space

    前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1.  ...

  5. 记录一次java.lang.OutOfMemoryError: PermGen space异常

    2019独角兽企业重金招聘Python工程师标准>>> 问题描述 线上右键告警,报错 OutOfMemoryError 拉取出日志,发现同样的问题: 2018-11-13 10:23 ...

  6. Weblogic java.lang.OutOfMemoryError: PermGen space

    错误信息 Error 500--Internal Server Error java.lang.OutOfMemoryError: PermGen space 解决 D:\SDE\weblogic\M ...

  7. Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法

    原文:http://cheen.iteye.com/blog/1687420 Tomcat启动时报如下错误:       java.lang.OutOfMemoryError: PermGen spa ...

  8. JRebel : java.lang.OutOfMemoryError: PermGen space 异常

    软件环境 开发工具:IDEA 2018.3 Tomcat:8.5.39 JDK:1.7.0_80 JReBel:2018.2.7 异常描述 使用Tomcat直接运行/调试可以,但是通过JReBel运行 ...

  9. myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法...

    摘要: tomcat部署多个项目后,启动tomcat正常,访问项目时却会出现该错误 在网上查了查又试了好几次,才解决,将解决方法记录下来,以方便以后查看或让遇到同样问题的朋友有个参考 PermGen ...

  10. Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

    Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案 问题 linux的jetty下发布程序后再启动jetty服 ...

最新文章

  1. CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)
  2. iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
  3. 如何解决Http请求参数中加号变空格问题
  4. python打印log重复问题
  5. 区块链开发公司谈区块链与大数据的关系
  6. HTML5自定义属性
  7. PHP的单引号和双引号
  8. 阿里云推出企业级智能协同办公方案 云桌面、云AP、云客服一应俱全
  9. 我的世界服务器怎么修改标语,我的世界怎么用资源包修改闪烁标语
  10. 平面2R机器人的运动学/动力学建模实例
  11. 北斗高精度定位在民航机场的创新应用
  12. 计算机毕设中期检查表怎么写,[毕业论文中期检查表(精选多篇)] 毕业论文中期检查表怎么写...
  13. 关于无线网络中几个名词WPS,PSK,WPA,WPA2等名词的解释以及WPA的破解
  14. 如何利用领英快速开发客户?
  15. Unity——两种进度条的制作
  16. 七牛云这个API,让我轻松搞定Banner背景自动切换的功能
  17. This probably means that Tcl wasn‘t installed properly
  18. 学习编程语言最好的方法是什么
  19. 如何使用 Docker Buildx Bake 创建复杂的镜像构建管道
  20. 游戏显示计算机空间不足,打游戏显示“显存不足”怎么解决?图解显存不足的方法步骤...

热门文章

  1. 使用v2xray或者ss时,显示“500 internal prioxy error”错误
  2. android 8.1 wifi提示“已连接 但无法访问互联网“的解决办法
  3. 计算机术语写祝福语,祝福语精选
  4. React — input标签输入中文的拼音时候会触发onChange事件解决
  5. P1598 垂直柱状图C++
  6. 和量子计算有什么区别 并发_超级计算机和量子计算机有什么区别?
  7. 英文字母间隔变得很大abcdefg
  8. 2018-8-10-控件
  9. 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...
  10. matlab有用小工具