Docker容器环境下使用JVM监控分析工具JMX和Jstatd

标签: JVM  java  docker

软件准备

docker-compose1.24
java8

配置

docker-compose文件修改
在JAVA_OPTS中增加以下配置

-Djava.rmi.server.hostname=`192.168.XX.XX` -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.rmi.port=`7098` -Dcom.sun.management.jmxremote.port=`7099` -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=`/tmp/gc.hprof`

配置说明

-Djava.rmi.server.hostname=192.168.XX.XX #配置本机宿主机的IP
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.rmi.port=7098 #配置jstatd的访问端口
-Dcom.sun.management.jmxremote.port=7099 #配置jmx的访问端口
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/gc.hprof # dump的文件存放地址

端口映射

   ports:
      - 8001:8001
      - 7098:7098 
      - 7099:7099

将docker容器内部的端口映射出来

磁盘目录映射

    volumes:
      - /tmp:/tmp

将dump的文件目录映射出来,工jvm分析

重启服务,使修改生效

添加监控

打开本机java_home下的bin目录下的jvisualvm.exe文件
在这里插入图片描述

添加远程监控主机

在这里插入图片描述

添加JMX连接

在这里插入图片描述

查看主机的JVM情况

在这里插入图片描述

版权声明:本文为weixin_50236329原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_50236329/article/details/110061485

智能推荐

使用JMX监控Kafka

kafka版本:kafka_2.11-0.9.0.1 kafka开启jmx分两个步骤 1.设置jmx参数  修改bin/kafka-run-class.sh ,找到KAFKA_JMX_OPTS,设置 java.rmi.server.hostname,开启远程RMI协议访问,如果不设置,只能本地访问jmx服务 2.启动时设置JMX_PORT环境变量 启动kafka后,使用jconsole就...

人工智能基础-数学方法-形式逻辑

1956 年召开的达特茅斯会议宣告了人工智能的诞生。在人工智能的襁褓期,各位奠基者们,包括约翰·麦卡锡、赫伯特·西蒙、马文·明斯基等未来的图灵奖得主,他们的愿景是让“具备抽象思考能力的程序解释合成的物质如何能够拥有人类的心智”。 通俗地说,理想的人工智能应该具备抽象意义上的学习、推理与归纳能力,其通用性将远远强于解决国际象棋或是围棋...

P3397 地毯——题解2020.10.3

P3397 地毯 思路分析 定义一个二维数组 a[ ][ ]存放每个点覆盖地毯的个数,下标表示每个点的坐标; 设置一个二重循环依次遍历每个地毯覆盖的坐标范围,使地毯覆盖范围内点的值+1; 打印出该二维数组 a[ ][ ]即为本题答案; 注意事项 由题可知:对于20%的数据,有 n≤50,m≤100;对于100%的数据,有 n,m≤1000;所以数组定义为a[1003][1003]...

反射注解案例

1、反射案例: 需求 写一个"框架",不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并且执行其中任意方法 实现: 配置文件 反射 步骤: 创建对象 将需要创建的对象的全类名和需要执行的方法定义在配置文件中 在程序中加载读取配置文件 使用反射技术来加载类文件进内存 执行方法 第一步:Person类(创建对象) 第二步:配置文件 pro.properties(将需要创...

lambert与half lambert模型逐顶点和逐片元的漫反射光照

兰伯特模型 逐顶点光照 逐片元光照: 效果对比:左边为逐片元光照。右边为逐顶点光照。右边明暗交界处有较明显的锯齿 半兰伯特光照模型 兰伯特模型的一个问题就是背光面只有一种颜色,缺乏立体感。Half Lambert用于解决这个问题 半兰伯特模型公式: 与兰伯特模型的差别主要在于不同于将背光面光都设为0,它将背光的光也即负值也映射到[0,1]区间。避免了背光的颜色只有0这一种值。需要注意的是,half...

猜你喜欢

[React官网入门教程]三子棋游戏完整代码

入门教程: 认识 React 最终效果 完整代码 index.css部分 index.css部分...

票据打印机-ESC/POS指令使用

给打印机输入串口命令,是打印机处于一种状态,然后就能干你想让他干的活了.百度ESC/POS文档随便拿一个正规的都一样,就不在这里放地址了,拿到这个文档以后代码的编写我只举一个例子,其它的模式也都一样 比如说这个功能为初始化打印机,他有三种输入模式,第一种是ASCII码(ESC @),第二种是Hex也就是16进制数(1B 40),第三种Decimal十进制数(27 64),我以16进制为例,那么他的...

JDBC工具类抽取

以下内容为观看黑马教学视频后仿写 新建一个JAVA Project,目录结构如下:    jdbc配置文件 jdbc.properties jdbc工具类  JDBCUtil.java 测试程序 MainTest.java 数据库中数据如下: 执行测试程序,运行结果如下:...

如何根据CIFAR-10的格式制作自己的数据集(C/C++版)

首先特别感谢博主 @yhl_leo 关于CIFER-10数据集可查看官方介绍,存储信息介绍如下: 不啰嗦,直接上代码实例,图片如何存储为二进制格式的三个代码文件如下: 相应的代码及备注依次如下: 本人转换后的结果如下: 最后,将数据放入CIFAR-10模型中,并修改一下部分参数,效果还不错!...

自己整理的docker常用目录和知识(持续更新完善)

目录 1.docker简介 2.docker安装 3.docker常用命令 4.docker镜像 5.docker容器数据卷 6.dockerFile       1.docker简介 2.docker安装 3.docker常用命令 1.帮助命令 查看版本信息:docker version 显示 docker 系统信息,包括镜像和容器数:docker info 帮助:...