Maven專案使用tomcat外掛啟動後報記憶體溢位
問題:
maven專案在pom.xml配置tomcat外掛後啟動,執行時報記憶體溢位。
tomcat外掛配置如下:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>${tomcat.version}</version> <configuration> <port>${webserver.port}</port> <path>/${project.artifactId}</path> <uriEncoding>${project.build.sourceEncoding}</uriEncoding> </configuration> </plugin>
錯誤如下:
java.lang.OutOfMemoryError:PermGen space
原因:
java虛擬機器裝載類的空間不夠,永久記憶體超出,主要是因為專案功能增加後,載入的jar或class過多造成的。
解決方案:
增加jvm記憶體,在maven的run configuration中增加如下配置,擴大初始化記憶體。
-Xms1024M -Xmx2048M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=512M
通過jvisualvm.exe我們可以看到初始化的記憶體
根據需要可以調整初始化記憶體的大小。