首次运行公司项目,出现了内存溢出,具体出现java.lang.OutOfMemoryError: PermGen space和java.lang.OutOfMemoryError:GC overhead limit exceeded异常
调整运行时JVM内存大小主要有两种方式:
1,在Eclipse中配置
Eclipse中的Window-->Preferences-->Java-->Installed JREs-->Edit,在Default VM arguments中配置如下 参数
-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=1024m -XX:MaxPermSize=512m
具体可配置的参数还有很多,此处仅设置了这几个参数,有需要设置别的参数的同学,请自行添加即可。
2,在Tomcat的配置文件中配置
Tomcat分为安装板(.exe)和解压版(.zip,tar.zip,解压即用无需安装的),二者JVM参数的配置方式有区别,这里只介绍解压版的JVM参数内存配置方式,安装板的配置方式
不同,有兴趣的同学可以自行查找。
打开Tomcat-->bin-->catalina.bat,在@echo off后的第一行加入 set JAVA_OPTS=-Xmx512m -Xms512m -XX:PermSize=256M -XX:MaxPermSize=512m 即可。
3,查看JVM参数是否设置成功
点击jdk安装目录下bin目录中的JVisualVM.exe,在“JVM参数”中可以查看具体配置。
4,注意!!!两种配置方式的优先级是Eclipse的配置优先级高于Tomcat,所以,在配置的时候,只需要选择一种方式配置即可,两种方式都使用的话,项目启动时默认使用Eclipse
中的配置。