java.lang.OutOfMemoryError: PermGen space
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相关推荐
- java.lang.OutOfMemoryError: PermGen space及其解决方法
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决 ...
- IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常
IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常 参考文章: (1)IntelliJ IDEA的Maven项目 ...
- JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space
JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space 参考文章: (1)JAVA编译异常处理:java.lang.OutOfMemoryError: ...
- Tomcat发布Maven项目遇到异常:java.lang.OutOfMemoryError: PermGen space
前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1. ...
- 记录一次java.lang.OutOfMemoryError: PermGen space异常
2019独角兽企业重金招聘Python工程师标准>>> 问题描述 线上右键告警,报错 OutOfMemoryError 拉取出日志,发现同样的问题: 2018-11-13 10:23 ...
- Weblogic java.lang.OutOfMemoryError: PermGen space
错误信息 Error 500--Internal Server Error java.lang.OutOfMemoryError: PermGen space 解决 D:\SDE\weblogic\M ...
- Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法
原文:http://cheen.iteye.com/blog/1687420 Tomcat启动时报如下错误: java.lang.OutOfMemoryError: PermGen spa ...
- JRebel : java.lang.OutOfMemoryError: PermGen space 异常
软件环境 开发工具:IDEA 2018.3 Tomcat:8.5.39 JDK:1.7.0_80 JReBel:2018.2.7 异常描述 使用Tomcat直接运行/调试可以,但是通过JReBel运行 ...
- myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法...
摘要: tomcat部署多个项目后,启动tomcat正常,访问项目时却会出现该错误 在网上查了查又试了好几次,才解决,将解决方法记录下来,以方便以后查看或让遇到同样问题的朋友有个参考 PermGen ...
- Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案
Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案 问题 linux的jetty下发布程序后再启动jetty服 ...
最新文章
- CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)
- iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
- 如何解决Http请求参数中加号变空格问题
- python打印log重复问题
- 区块链开发公司谈区块链与大数据的关系
- HTML5自定义属性
- PHP的单引号和双引号
- 阿里云推出企业级智能协同办公方案 云桌面、云AP、云客服一应俱全
- 我的世界服务器怎么修改标语,我的世界怎么用资源包修改闪烁标语
- 平面2R机器人的运动学/动力学建模实例
- 北斗高精度定位在民航机场的创新应用
- 计算机毕设中期检查表怎么写,[毕业论文中期检查表(精选多篇)] 毕业论文中期检查表怎么写...
- 关于无线网络中几个名词WPS,PSK,WPA,WPA2等名词的解释以及WPA的破解
- 如何利用领英快速开发客户?
- Unity——两种进度条的制作
- 七牛云这个API,让我轻松搞定Banner背景自动切换的功能
- This probably means that Tcl wasn‘t installed properly
- 学习编程语言最好的方法是什么
- 如何使用 Docker Buildx Bake 创建复杂的镜像构建管道
- 游戏显示计算机空间不足,打游戏显示“显存不足”怎么解决?图解显存不足的方法步骤...
热门文章
- 使用v2xray或者ss时,显示“500 internal prioxy error”错误
- android 8.1 wifi提示“已连接 但无法访问互联网“的解决办法
- 计算机术语写祝福语,祝福语精选
- React — input标签输入中文的拼音时候会触发onChange事件解决
- P1598 垂直柱状图C++
- 和量子计算有什么区别 并发_超级计算机和量子计算机有什么区别?
- 英文字母间隔变得很大abcdefg
- 2018-8-10-控件
- 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...
- matlab有用小工具