背景
在部署微服务节点的时候发现在Docker容器中占用内存比较多平均一个节点要去到1.5G~2G ,因此项目组需要分析为什么会造成这种现象。此时我马上联想到用
JVisualVM
来监控应用,那么问题来了如何监控远程容器中的应用呢?
解决方案
命令
1 | #启动JMX可以通过jvritualVM 进行监控 |
Docker下的命令
1 | java -Xmx1g -Djava.rmi.server.hostname=docker母机IP -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.rmi.port=9090 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar /home/work/project.jar |
效果
打开jvisualVM > 文件 > 添加JMX链接 > ip地址:端口