JConsole或者JvisualVM远程连接jetty进行jvm监控

最近项目发现了服务有内存泄漏的问题,但是在jvm上并没有配置即jvm没有配置

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof 这两个参数,导致在发生了oom后只能看到日志中有OOM异常,其他的并不能分析出来,等监控到的时候发现进程已经成了僵尸进程,根本没法通过jmap导出dump。

为了模拟和分析问题在dev环境将-Xmx -XX:MaxMetaspaceSize(我是jdk1.8)都进行了缩小为了重现问题,接下来想监控oom的过程,于是就想用jvisual vm连接到jetty服务器上去进行jvm的监控。

  • 服务端的配置

经过查看jetty的官方文档, jetty-jmx文档  远程链接需要设置几个参数,在此列一下:

由于我使用的外置的jetty,所以在start.ini中加入如下配置:

#
# Initialize module jmx-remote
#
--module=jmx
--module=jmx-remote
## JMX Configuration
## Enable for an open port accessible by remote machines
jetty.jmxrmihost=192.168.1.2
jetty.jmxrmiport=1099

主要作用就是启用jmx和jmx-remote两个module,然后通过`jetty.jmxrmihost`和`jetty.jmxrmiport`设置服务器的ip抵制和要远程链接端口,需要注意的是这里的端口一定是开了防火墙的,否则访问不到,这种方法是没有使用认证的方式(在测试环境内网无所谓,但是在外网的话建议时候带认证方式的连接方法),也可以参考官网使用认证的方式进行连接。保存配置重启jetty服务

  • jconsole或者jvisual vm客户端的配置

可以先通过telnet进行测试连通性,如果没问题的话可以先打开jconsole(jdk的安装目录/bin/jconsole.exe)或者jvisualvm(jdk的安装目录/bin/jvisualvm.exe)

 jvisualvm也是一样的道理,点击远程,添加jmx连接即可,此时jvm的使用轻咳就一目了然了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21087.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3 动画 animation 入门学习笔记 之 属性详解

文章目录 简单介绍 CSS 动画CSS 动画的作用CSS 动画语法介绍CSS 动画属性animation-nameanimation-durationanimation-delayanimation-directionanimation-iteration-countanimation-play-stateanimation-timing-functionanimation-fill-modeanimation 简单介绍 CSS 动画 引用…

css3提供的网页布局

css3提供的网页布局 弹性盒子模型(flex box): 设置成弹性盒子 默认横着排放(div也是) 当子盒子给的宽度过大,总的子盒子宽度超过父级盒子,会自动适配,计算整个盒子父级的大小&#…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 13 日论文合集)

文章目录 一、分割|语义相关(7篇)1.1 Correlation-Aware Mutual Learning for Semi-supervised Medical Image Segmentation1.2 RFENet: Towards Reciprocal Feature Evolution for Glass Segmentation1.3 Sem-CS: Semantic CLIPStyler for Text-Based Image Style Transfer1.4…

Django_静态资源配置和ajax(九)

目录 一、静态资源配置 二、AJAX ajax作用 使用ajax 1、环境配置 2、创建html模板文件 3、编写视图函数并添加路由 4、运行django开发服务器进行验证 源码等资料获取方法 一、静态资源配置 静态资源的相关配置都在项目目录下的 settings.py 文件中进行配置。配置参数如…

MySQL主从复制

文章目录 介绍配置——前置条件配置——主库配置——从库测试读写分离案例背景Sharding-JDBC介绍入门案例 介绍 MySQL主从复制是一个异步的复制过程,底层是基于MySQL数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,即从库&…

23数字图像置乱技术(matlab程序)

1.简述 一、引言 所谓“置乱”,就是将图像的信息次序打乱,a像素移动到b像素位置上,b像素移动到c像素位置上,……,使其变换成杂乱无章难以辨认的图片。数字图像置乱技术属于加密技术,是指发送发借助数学或者…

6.EFLFK(EFLK+kafka)

文章目录 EFLFK(EFLKkafka)zookeeper概述Zookeeper 特点数据结构和工作场景选举机制(重要)总结部署Zookeeper kafka为什么用消息队列(MQ)中间件使用消息队列的好处消息队列模式消息队列总结:kafka概述Kafka特性Kafka架…

怎样优雅地增删查改(六):按任意字段关键字查询

文章目录 实现应用测试 实现 定义按任意字段关键字查询过滤器(IKeywordOrientedFilter)接口,查询实体列表Dto若实现该接口,将筛选指定的目标字段(TargetFields)包含指定的关键字(Keyword&#…

基于springboot的地铁轨道交通运营系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

推荐Selenium 自动化测试实战

你将获得 深入 Selenium 源码、原理、封装、技巧; unittest、pytest、DDT、POM 迭代测试方法; 大型项目分布式测试解决方案; Jenkins 持续集成和交付。 演示地址:www.runruncode.com/portal/article/index/id/19451/cid/85.html 课…

Java设计模式-责任链(Chain of Responsibility)模式

介绍 Java责任链(Chain of Responsibility)设计模式是指很多处理对象构成一个链,链中前一个对象指向后一个对象。请求在链中传递,一个请求可以被一个或者多个对象处理。调用方(即客户端)不知道请求会被链中…

Node连接Mongodb数据库

1.初始化 npm init 2.安装mongoose npm i mongoose 3.导入mongoose const mongooserequire("mongoose") 4.连接mongodb服务 mongoose.connect("mongodb://127.0.0.1:27017/user") 说明:mongodb是协议,user是数据库,如果没有会自动创…