2011-05-02 229 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选择的实际设置。