PermGen space-永久区内存溢出

近日在项目开发时,Tomcat部署了四个项目,可以正常启动,但是在进行测试时,Tomcat发生挂起,并抛出永久区内存溢出,:

nested exception is java.lang.OutOfMemoryError: PermGen space

原来是加载太多jar包和文件,分配Tomcat内存不够了。先解决如下,介绍三种方法:

第一种,直接在eclipse中修改:

run-》run configuration-》vm argument

在后面加上这句配置:栈空间256mb,堆空间512mb,永久区512mb

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


第二种:如果所用Tomcat中

Tomcat \ bin 目录中有Catalina.bat文件,

进入到Tomcat安装文件目录下:tomcat\bin下,修改Catalina.bat,更改内存分配

在“rem ----- Execute The Requested Command ----------------------”下加入

JAVA_OPTS="-server -Xms800m -Xmx800m -XXNewSize=256M -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m"

注:这种方法在只使用tomcat时管用,但使用eclipse时不管用。



第三种:修改eclipse下的eclipse.ini文件

这个相对来说比较好操作,收到对应的MaxPerSize参数,根据需要,设置内存大小。

在eclipse.ini中加入如下代码:

加入

-vm

d:/jdk6/bin/javaw.exe

-vmargs

-Dosgi.requiredJavaVersion=1.5 

 

-XX:PermSize=256M 

-XX:MaxPermSize=512m


如下图

PermGen space-永久区内存溢出_第1张图片


PermGen space-永久区内存溢出_第2张图片


你可能感兴趣的:(开发工具,java,Tomcat)