本文会讲解Tomcat远程Debug调试,Tomcat-manager监控(简单带过),psi-probe监控和Tomcat参数调优。本文基于Tomcat8.5版本。
Tomcat远程Debug:
远程Debug有些时候在通过日志无法找到原因的时候还是很有用的,所以了解使用很有必要。使用JDWP实现远程Debug,定义了调试器和被调试jvm
之间的协议
具体可以参考:https://www.ibm.com/developerworks/cn/java/j-lo-jpda3/
首先修改远程Tomcat的startup.sh最后加上jpda
Bash
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
然后修改catalina.sh
通过搜索jpda,我们可以看到JPDA_OPTS的解释定义,添加了jpda启动,会生成最后两行输出
Dockerfile
# JPDA_OPTS (Optional) Java runtime options used when the "jpda start"
# command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
# and JPDA_SUSPEND are ignored. Thus, all required jpda
# options MUST be specified. The default is:
#
# -agentlib:jdwp=transport=$JPDA_TRANSPORT,
# address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
JPDA_TRANSPORT:jpda 端口
JPDA_ADDRESS:jpda IP地址
然后修改红字部分,为定义的jpda的IP地址,默认localhost:8000,现在改成54321(随意改,只要不会重复),供远程debug使用
Bash
if [ "$1" = "jpda" ] ; then
if [ -z "$JPDA_TRANSPORT" ]; then
JPDA_TRANSPORT="dt_socket"