我正在使用unix环境中的apache tomcat服务器。我想增加应用程序的堆大小,所以我在catalina.sh文件中设置它。这就是我这样做的方式......
export CATALINA_OPTS =“ - Xms1024m -Xmx1024m” echo $ CATALINA_OPTS
当我调用startup.sh时,它调用catalina.sh并将变量CATALINA_OPTS设置为1024,如脚本中的echo语句所示。但是,如果我在命令提示符处回显$ CATALINA_OPTS,它将为空。这是预期的行为吗?我怎样才能确定确实拾取了正确的堆值?
答案 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选择的实际设置。