解决eclipse报PermGen space异常的问题
开发中遇到Eclipse报错:java.lang.OutOfMemoryError: PermGen space。
PermGen space百度翻译为:永久区域内存不足。
1. 先来一张jvm结构图:

内存不足问题一般都是发生在'堆'上,GC作用区域也是在'堆'上。
2. 这个'堆'又划分成了好几块区域,包括:
新生代:包括伊甸园区和存活区。
老年代:
永久带:jdk1.8后变成元空间,元空间不再占用堆中的空间,而永久带却是在堆中开辟空间。

可以发现,堆中就有个永久区。永久区的内存溢出,其实就是堆的内存不够用。
只需要调大堆的内存大小就可以解决问题。
3. 调整堆大小的参数:
-Xms256m -Xmx1024m
-Xms:堆的初始化大小,这里设置成了256m.
-Xmx:堆最大的大小,这个设置成了1024m.
这里面就存在了一个可伸缩的空间,而这个空间的存在会损耗服务的性能。因为扩容和释放空间都是有性能损耗的。
最好的办法就是:-Xms和-Xmx设置成同样的大小。这样就不存在可伸缩的空间了。
4. jvm参数的配置位置。
a. 如果是使用tomcat服务:
修改tomcat/bin目录下的catalina.bat。(windows环境下修改文件catalina.bat, linux环境下修改文件catalina.sh)

配置在文件的第一行:

b.如果是eclipse
修改eclipse的Run Configurations。(如果是debug模式,修改Debug Configurations。)

写在此处,方便拷贝:
-Xms256m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m

c.如果已经被配置成了服务
这种情况,就需要修改注册表了。
c1. regedit命令打开注册表。
c2. 找到配置的tomcat服务。

修改:JvmMs,JvmMx,Options里面的参数值。
c3. 修改完毕后需要重启服务。
d. Eclipse的配置文件eclipse.ini中也可以配置jvm参数。

-vmargs
-Xms512m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=512M
至此,内存溢出的问题应该就解决了。
解决eclipse报PermGen space异常的问题的更多相关文章
- 解决eclipse报PermGen space内存溢出异常的问题
异常问题如下所示: 1.点击Eclipse->Window->Preferences,如下所示: 2.点击Server->Runtime Environments,选择Apache ...
- 解决Myeclipse报PermGen space异常的问题
最近使用eclipse做开发,使用的服务器是tomcat,但在启动时报了Caused by: java.lang.OutOfMemoryError: PermGen space的异常. 这个错误很常见 ...
- Myeclipse报PermGen space异常的问题
最好用的方法: 1)在myeclipse中windos——>preference——>Myeclipse——>servers——>Tomcat——>JDK(Optiona ...
- 关于在web端运行项目,eclipse报PermGen space错误
之前在网上也查到过许多解决的方法,但可能因为本人脸黑........也修改过eclipse文件目录中的相关配置文件,并没有得到相应的帮助,因此把自己的改正方法分享下: window-->pref ...
- eclipse中tomcat内存溢出问题,报PermGen space
场景 最近在eclipse中的tomcat服务器下放三个不同的应用程序,其中两个应用程序用到了各自的第三方jar包.刚开始时把这三个应用程序分别部署到各自的tomcat服务器运行,没问题.后来想通过第 ...
- Web项目java.lang.OutOfMemoryError: PermGen space异常解决
接手一个新的Web项目,编译运行(Tomcat版本为7),运行的时候报出了java.lang.OutOfMemoryError: PermGen space的异常,搜了一下这样解释: PermGe ...
- 内存溢出之PermGen space异常解决
1.出现的异常: java.lang.OutOfMemoryError: PermGen space at sun.misc.Launcher$ExtClassLoader.getExtClassLo ...
- java.lang.OutOfMemoryError: PermGen space异常及解决
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被 ...
- Tomcat Java.OutOfMemoryError : PermGen Space异常
背景:前些日子更新公司多年前一个旧平台发布到Tomcat上之后,频繁收到网站许多模块无法正常使用的反汇. 测试过程中发现平台发布一段时间后,访问相关网页出现如下500页面 解决方案:PermGen s ...
随机推荐
- GUI矩形、椭圆、线、框架
所有的Swing组件必须由时间调度线程(event dispatch thread)进行配置,线程将鼠标点击和键盘敲击控制转移到用户接口组件.下面的代码片段是事件调度线程中的执行代码: EventQu ...
- angularJS 判断
判断语句: ng-switch on ng-switch-when ng-switch-when ng-if=”person.sex==1“ <ul> <li ng-repeat=” ...
- html base1
标题: 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1> 定义最大的标题.<h6> 定义最小的标题. 段落: < ...
- 转:Warning -26490: File name in a multipart submit is missing or empty.解决方法
录制测试上传文件脚本,回放报Warning -26490: File name in a multipart submit is missing or empty. Using an empty fi ...
- HDU 2674 N!Again
一开始以为有循环节,输出了前100项发现n>40都是0.因此,水题.... #include<cstdio> ]; ; int main() { a[]=; ; i<=; i+ ...
- ZEN_CART_如何添加自定义页面
按照下面的路径,添加自己的文件,就OK了 以about us页面为例, 默认模板 \includes\templates\template_default\templates\tpl_about_us ...
- (一)、Struts第一天
(一).Struts第一天 1. JavaWeb知识回顾 n 客户端编程 HTLM/CSS/JS n XML技术 会写XML * 基本语法 * DTD * Schema 会读XML * Dom4J读取 ...
- Itext简绍及操作PDF文件
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
- linux export将PATH环境变量误删了的解决办法
今天新增环境变量的时候不小心把冒号错打成了分号 export PATH=/usr/local/php5/bin;$PATH; 导致PATH变量为/usr/local/php/bin 解决办法:[ubu ...
- Linux查看文件夹大小du
du命令参数详解见: http://baike.baidu.com/view/43913.htm 下面我们只对其做简单介绍: 查看linux文件目录的大小和文件夹包含的文件数 统计总数大小 d ...