![](/img/trans.png)
[英]In tomcat 8, How to provide file path in setenv.bat to read from java class
[英]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.