[英]Tomcat won't deploy an application due low java heap memory
我想將.war
(cca 55MB)應用程序部署到Tomcat 7應用程序服務器,但是部署失敗。 當我嘗試部署一些較小的.war
歸檔文件(cca 4MB)時,它可以順利完成。 我試圖增加java heap
空間,現在應該足夠了。 而且,在嘗試部署此.war
,甚至tomcat manager
崩潰了。 我很高興提出任何解決方案的建議。
root@vm15187:~# java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
uintx AdaptivePermSizeWeight = 20 {product}
intx CompilerThreadStackSize = 0 {pd product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 65019648 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 1042284544 {product}
uintx MaxPermSize = 174063616 {pd product}
uintx PermSize = 21757952 {pd product}
intx ThreadStackSize = 1024 {pd product}
intx VMThreadStackSize = 1024 {pd product}
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
這些錯誤消息在我的catalina.out
日志中:
SEVERE: Error waiting for multi-thread deployment of WAR files to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
SEVERE: Error waiting for multi-thread deployment of directories to completehostConfig.deployWar=Deploying web application archive {0}
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
完整日志在這里
您需要繼續增加內存分配-XmxNNNNm
直到它起作用為止,然后使用內存分析工具來了解消耗它的內容。 以我的經驗,一個55MB的WAR文件是一個很大的應用程序。
請注意,您應該使用:
CATALINA_OPTS="-Xms..."
而不是JAVA_OPTS。 后一個環境變量適用於為支持Tomcat而啟動的所有Java進程。 CATALINA_OPTS僅適用於服務器進程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.