OutOfMemoryError: PermGen space的解决方法

MyEclipse中启动Tomcat,报OutOfMemoryError: PermGen space的解决方法

发表于 2012 年 7 月 27 日

这是个很简单的问题,但是搜索了半天,发现大家写博客的时候太不认真,很多人很不严谨,会误导大家。这里自己再总结一下:

1. 如果是单独启动Tomcat报错,可以这样修改catalina.bat文件(假设在Windows中):

在“rem —– Execute The Requested Command —————————————”这一行之后,“echo Using CATALINA_BASE:   “%CATALINA_BASE%” ”这一行之前,加入:


1

set
JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=512m -XX:MaxPermSize=512m

看了一下很多博客,有人给前面多加了一个引号,有人根本不区分是.bat文件还是.sh文件。有人加上了-XX:MaxNewSize=512m,有人写成小写m和大写M混用。虽然自己写博客方便,但是给使用的人带来了很大的困扰。

2. 如果是在MyEclipse中,则可以在下图所示的界面中:

中的Optional Java VM arguments中填入以下内容:


1

-Xms512m -Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512m

至于-XX:MaxNewSize=512m有没有用,m的大小写有没有区别,抱歉,我没有时间仔细推敲,只是想说,希望大家写博客的时候都再用心点,专业些。

时间: 2024-08-01 15:45:50

OutOfMemoryError: PermGen space的解决方法的相关文章

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

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存.说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理

java.lang.OutOfMemoryError: PermGen space从解决方法中认识堆与非堆

1)堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”. 可以看出JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的, 所以方法区.JVM内部处理或优化所需的内存(如JIT编译后的代码缓存).每个类结构(如运行时常

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

摘要: tomcat部署多个项目后,启动tomcat正常,访问项目时却会出现该错误在网上查了查又试了好几次,才解决,将解决方法记录下来,以方便以后查看或让遇到同样问题的朋友有个参考 PermGen space是啥就不说了,网上找找大堆,感觉也没必要记这些个概念 问题的根源就是JVM的内存不够用了!!!解决方法: *********************************************************************************************

Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法

首先需要双击tomcat server,如下图所示: 双击上图后会出现,tomcat配置的界面: 然后再点击上图的,红色矩形框的链接,会弹出tomcat参数配置的节面,要选择Arguments参数框: 如上图在VM arguments文本框内设置 -XX:MaxPermSize=256m的值即可, 当然此处还可以添加其他jvm参数,比如最大内存,最小内存等.

MyEclipse10中启动出现OutOfMemoryError: PermGen space如何解决

一篇关于技术的文档,分享给大家.在MyEclipse中启动程序运行,报错java.lang.OutOfMemoryError: PermGen space应该怎么办?这是eclipse 内存不够的原因. PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC

PermGen space错误解决方法

在看下文之前,首先要确认意见事情,就是你是如何启动tomcat的,我们在平时的开发环境当中,都是通过startup.bat方式启动tomcat的,那么你按照下面的方式,去修改/bin/catalina.bat是没有问题的.但是如果你是生产环境下,我们一般都希望使用windows服务方式去启动tomcat,此时之前修改的配置文件是没有用的.因为windows服务启动tomcat不再去加载catalina.bat当中的参数了,而是去加载注册表中的参数,所以我们需要修改注册表. HKEY_LOCAL_

OutOfMemoryError PermGen space 的解决办法(头痛了几天)

解决 OutOfMemoryError: PermGen space ,过程是痛苦的,结果是舒畅的 最近自己的程序在 Redeploy 重新部署的时候,老提示 OutOfMemoryError: PermGen space 错误,在网络上搜索了相关的资料,但是按照做后还是存在这个问题.由 于我是第一次碰到这个问题, 花费了我 2 天时间, 过程比较痛苦, 结果还是比较 圆满的.我将我的经历写下来,供我自己以后参考,也提供给大家分享. 在网络上关于 OutOfMemoryError: PermGe

MyEclipse6.5通过Jetty跑Web应用时提示OutOfMemoryError: PermGen space的解决办法

/** * MyEclipse6.5通过Jetty跑Web应用时提示OutOfMemoryError: PermGen space的解决办法 * @see --------------------------------------------------------------------------------------------------- * @see Jetty启动类-->Run AS-->Open Run Dialog-->Arguments-->VM argum

tomcat 开启时,或者访问网页后PermGen space错误解决方法 java.lang.OutOfMemoryError: PermGen space

公司以前都是一个项目一个tomcat,为了整合,我把两个项目放到了一个tomcat下,结果打开tomcat后,随便访问几个网页,或者登录一个账号后就会报错,提示 java.lang.OutOfMemoryError: PermGen space 上网搜索后,发现是JVM的默认内存只有4M太小,开启tomcat后要加载所有项目,就会导致JVM的内存溢出. Windows下tomcat修改 .编辑tomcat的catalina.bat文件,在第一行的后面增加一句:set JAVA_OPTS=-ser