今天为了定位部署在docker里面的java应用的内存问题,折腾了半天开启JMX监控,采坑较多。
在tomcat的bin目录下,修改setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -Xms1024m -Xmx4096m -Dcom.sun.management.jmxremote.rmi.port=6666 -Dcom.sun.management.jmxremote.port=6666 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.1"
其中需要开启两个6666端口,且ip使用的docker主机的ip,最后在docker命令启动的时候挂载该端口即可。
docker run --name test --link mysql:mysql -e MALLOC_ARENA_MAX=1 -p 8899:8080 -p 6666:6666 -v /opt/test/sc:/test/sc -v /etc/localtime:/etc/localtime -d -m 5126M javaTest:latest

本文介绍如何在Docker环境下为部署的Java应用(Tomcat为例)配置JMX远程监控,包括修改环境变量文件setenv.sh来设置JVM参数及JMX端口映射,以便进行内存状况监控。
1339

被折叠的 条评论
为什么被折叠?



