簡體   English   中英

使用 setenv.bat 為 tomcat 增加分配的 memory 不起作用

[英]Increasing allocated memory for tomcat didn't work using setenv.bat

我有一個在 tomcat 上運行的 java web 應用程序(tomcat 安裝為 Z0F4137ED03502B5044526 服務)
Exception in thread "Thread-7" java.lang.OutOfMemoryError: GC overhead limit exceeded
在嘗試使用 web 應用程序處理文件時。 所以我嘗試為 tomcat 增加分配的 memory。 我檢查了增加 Tomcat memory 設置中的解決方案, 處理“java.lang.OutOfMemoryError: PermGen space”錯誤和其他一些博客。 這是我在 setenv.bat 文件中嘗試的命令。

rem export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=1024m"
rem set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx8192m -XX:MaxPermSize=256m -server"
rem set JAVA_OPTS="-Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=1024m"
rem set JAVA_OPTS=%JAVA_OPTS% -Xms256m  -Xmx2048m
rem set JAVA_OPTS=-Dfile.encoding=UTF-8 -Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=1024m

我一一嘗試了這些命令。 每次添加新命令時,我都會重新啟動 tomcat。 這些命令都不起作用,tomcat 正在使用其默認配置。 所以我從 tomcat8w.exe -> java 選項卡更改了初始 Memory 池最大 Memory 池 這奏效了。 但我想使用 setenv.bat 更改配置。 我怎樣才能做到這一點?

如您所見,您的 tomcat 服務根本不使用 setenv.bat。 根據文檔,您必須調用tomcat8 //US//來更新服務定義。 這些設置存儲在 Windows 注冊表中的某處。

所以你需要的命令可能看起來像

tomcat8 //US//Tomcat8 --JvmMx 2048m

或者,按照您所描述的那樣,使用 GUI 版本tomcat8w是完全可以的。

簡而言之:您不能使用 setenv.bat 來配置作為服務運行的 Tomcat。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM