开发中遇到Eclipse报错:java.lang.OutOfMemoryError: PermGen space。
PermGen space百度翻译为:永久区域内存不足。
调整堆大小的参数:
-Xms256m -Xmx1024m
-Xms:堆的初始化大小,这里设置成了256m.
-Xmx:堆最大的大小,这个设置成了1024m.
这里面就存在了一个可伸缩的空间,而这个空间的存在会损耗服务的性能。因为扩容和释放空间都是有性能损耗的。
最好的办法就是:-Xms和-Xmx设置成同样的大小。这样就不存在可伸缩的空间了。
jvm参数的配置位置。
如果是使用tomcat服务:
修改tomcat/bin目录下的catalina.bat。(windows环境下修改文件catalina.bat, linux环境下修改文件catalina.sh)
如果是eclipse
修改eclipse的Run Configurations。(如果是debug模式,修改Debug Configurations。)
Eclipse的配置文件eclipse.ini中也可以配置jvm参数。
-vmargs
-Xms512m
-Xmx1024m
-XX:PermSize=256M //该设置将永久保存区域设置为128 M
-XX:MaxPermSize=512M