OutOfMemoryError PermGen space 的解决办法(头痛了几天),permgenspace
解决
OutOfMemoryError: PermGen space
,过程是痛苦的,结果是舒畅的
最近自己的程序在
Redeploy
重新部署的时候,老提示
OutOfMemoryError: PermGen
space
错误,在网络上搜索了相关的资料,但是按照做后还是存在这个问题。由
于我是第一次碰到这个问题,
花费了我
2
天时间,
过程比较痛苦,
结果还是比较
圆满的。我将我的经历写下来,供我自己以后参考,也提供给大家分享。
在网络上关于
OutOfMemoryError:
PermGen
space
的解决办法很多了,但是有
的办法都是互相转发,真假难辨。有的可能还产生误导。
我的环境是
Myeclips
8.5
、
tomcat6.x
,
试过了很多办法后,
比如:
文档
《
Linux
和
Windows
修改
Java
虚拟机内存大小》

(

http://duanfei.iteye.com/blog/1189541
)
,
中的办法,
我都试过了,
还是不
行;
当然还参考了很多其他资料,
然后进一步研究
JVM
的优化等,
我就是想知道
我配置的内存参数应该够大了,
为什么还是溢出,
难道没有生效,
那我就需要找
到配置后系统认可的内存参数是多少,
参考网络上的知识,
启动了
JDK
自带的工
具,
在
\jdk1.6.0_10\bin
下面的
jconsole.exe
内存监控的工具,
点击进入如下:
选择
PID
为
4472
的这个进程,
点击
,进入如下界面,
选择内存页,并且选择图表中最后一个选项的“内存池“
Perm Gen
”
,下面的详细信息显示
的是:
这个地方的最大值是
65536Kb
,也就是
64M,
我于是就找到原因了,
64M
肯定会导致溢出,
但是我配置了几百兆的内存空间就是不生效呢。
注意,
这个是我在
myclipse
中启动的
tomcat
看到的结果。
接下来,我进入
bin/catalina.bat

