2011-05-02 539 views
3

我正在使用unix環境中的apache tomcat服務器。我想增加我的應用程序的堆大小,所以我將它設置在catalina.sh文件中。這是我正在做它...在Tomcat中設置堆大小

出口CATALINA_OPTS = 「 - Xms1024m -Xmx1024m」 回聲$ CATALINA_OPTS

當我打電話的startup.sh它調用catalina.sh並設置變量CATALINA_OPTS 1024如腳本中的echo語句所示。但是如果我在命令提示符下輸入$ CATALINA_OPTS,它會顯示空白。這是預期的行爲。我怎樣才能確定正確的堆值確實已被拾取?

回答

2

是的,$CATALINA_OPTS將不會在由shell執行的腳本之外提供。爲了獲得正確的堆大小,您需要一個分析器,或使用jmap來獲取堆信息 - 這裏39196是我的機器上的tomcat進程的PID。

mpandit-mbp:~ mpandit$ jmap -heap 39196 
Attaching to process ID 39196, please wait... 
Debugger attached successfully. 
Server compiler detected. 
JVM version is 19.1-b02-334 

using parallel threads in the new generation. 
using thread-local object allocation. 
Concurrent Mark-Sweep GC 

Heap Configuration: 
    MinHeapFreeRatio = 40 
    MaxHeapFreeRatio = 70 
    MaxHeapSize  = 132120576 (126.0MB) 
    NewSize   = 21757952 (20.75MB) 
    MaxNewSize  = 87228416 (83.1875MB) 
    OldSize   = 65404928 (62.375MB) 
    NewRatio   = 7 
    SurvivorRatio = 8 
    PermSize   = 21757952 (20.75MB) 
    MaxPermSize  = 85983232 (82.0MB) 
0

$ ps aux | grep tomcat命令應該顯示tomcat選擇的實際設置。