在Tomcat中设置堆大小

时间:2011-05-02 09:51:08

标签: java tomcat heap

我正在使用unix环境中的apache tomcat服务器。我想增加应用程序的堆大小,所以我在catalina.sh文件中设置它。这就是我这样做的方式......

export CATALINA_OPTS =“ - Xms1024m -Xmx1024m”   echo $ CATALINA_OPTS

当我调用startup.sh时,它调用catalina.sh并将变量CATALINA_OPTS设置为1024,如脚本中的echo语句所示。但是,如果我在命令提示符处回显$ CATALINA_OPTS,它将为空。这是预期的行为吗?我怎样才能确定确实拾取了正确的堆值?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

$ ps aux | grep tomcat命令应显示tomcat选择的实际设置。