如何使用visual vm和jstat进行远程监控

如何使用visual vm和jstat进行监控

安装visual vm

好像从jdk某个版本开始,jdk的bin目录下就不自带jvisualvm了,需要从官网下载一个visual vm。

打开visual vm

在这里插入图片描述

Local是你本地的,无需多言。

先准备下必备的插件
在这里插入图片描述

如何通过visual vm观测远程服务

首先需要找到需要监控的服务,并在其启动命名中加入下面的参数,来支持远程JMX访问

port可以自己设置,一会要用到

设置好后重启容器

-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

首先找到容器的ip

在这里插入图片描述

然后在visual VM里面 add jmx connection

在这里插入图片描述

填入上面找到ip和port

在这里插入图片描述

你就可以连接到对应的服务

在这里插入图片描述

但是你会发现visual gc是空的

在这里插入图片描述

这是因为我们还没有添加jstat链接

继续进入到容器内部

执行下面命令

echo $JAVA_HOME

进入到$JAVA_HOME/bin下面新建一个文件jstatd.all.policy

vim jstatd.all.policy
填入下面的内容并保存
grant codebase"file:${java.home}/../lib/tools.jar"{permission java.security.AllPermission;
};
保存好后,将文件变为可执行文件
chmod +x jstatd.all.policy

完整命令如下所示
在这里插入图片描述

然后在$JAVA_HOME/bin目录下面执行下面的命令。hostname就是上面

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=10.246.125.107 -p 1099 &

正确执行会显示pid
在这里插入图片描述

通过jps -l可以看到我们的jstat进程起来了

在这里插入图片描述

然后回到visual vm。增加端口是上面-p命令后面的。默认就是1099

在这里插入图片描述

在这里插入图片描述

然后过一会就可以看到下面的东西了。看不到的可以重启下visual vm。如果不行,应该是上面jstat链接哪里设置不对,比如ip或者port
在这里插入图片描述

此时就可以看到visual gc的数据了

在这里插入图片描述

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

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

相关文章

ICode国际青少年编程竞赛- Python-3级训练场-条件练习

ICode国际青少年编程竞赛- Python-3级训练场-条件练习 1、 for i in range(5):Spaceship.step(2)Spaceship.turnLeft()Spaceship.step(2)Spaceship.turnRight()if i ! 0:Dev.step(-2)Dev.step(2)2、 for i in range(6):Dev.step(i1)Dev.turnLeft()if i ! 0 and i ! 1:Dev.s…

【机器学习300问】83、深度学习模型在进行学习时梯度下降算法会面临哪些局部最优问题?

梯度下降算法是一种常用的优化方法,用于最小化损失函数以训练模型。然而,在使用梯度下降算法时,可能会面临以下局部最优问题。 (一)非凸函数的局部极小值 问题描述:在复杂的损失函数中,如果目…

每日一题——力扣27. 移除元素(举一反三)

题目链接:https://leetcode.cn/problems/remove-element/description/ 菜鸡写法: // 函数定义,移除数组nums中所有值为val的元素,并返回新的数组长度 int removeElement(int* nums, int numsSize, int val) {// 如果数组长度为…

linux arm 安装nacos(pg数据库版)

要在Linux ARM架构上安装Nacos,你可以按照以下步骤进行操作: 1、下载Nacos压缩包: 首先,你需要下载Nacos的压缩包。访问Nacos的GitHub Release页面(nacos下载) 2、解压Nacos压缩包: 下载完成后…

Java基础知识(7)

Java基础知识(7) (包括:Arrays工具类,Lambda表达式,单列集合) 目录 Java基础知识(7) 一.Arrays操作数组的工具类。 二. Lambda表达式 1. 函数式编程 2. Lambda表达…

VS Code 远程连接 SSH 服务器

文章目录 一、安装 Remote - SSH 扩展并连接远程主机二、免密连接远程主机1. 生成 SSH 密钥对2. 将公钥复制到远程服务器3. 配置 SSH 客服端4. 连接测试 随着技术的不断迭代更新,在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器(我曾经也是个 …

⚡OWASF 十大 API 安全问题盘点

OWASP 是一个致力于提升 Web 应用程序安全的国际非营利组织,其核心原则之一是公开、免费地提供所有相关资料,方便大众在其官方网站上轻松查阅,助力任何人提升 Web 应用程序的安全性。该组织提供的资料涵盖文档、工具、视频以及论坛等多种形式…

【PowerJob】从源码编译到k8s部署

前言 虽然PowerJob官方说支持JPA各种数据源,但在PG数据库的兼容性上,确实存在小问题,issue也有相关原理描述,官方采用的优雅方式并未真正解决问题,因为只解决了从Lob字段读取的时候,自动建表的时候还是会生…

List集合中对asList的使用

List<String> sArrays.asList(“qwe”,”cvb”,”mnb”); List<String> s1s.subList(1,2); System.out.Pintln(“s”);//输出结果&#xff1a;[qwe,cvb,mnb] System.out.Pintln(“s1”);//输出结果&#xff1a;[cvb] s1.add(“123qwe”);//报错&#xff1a;java…

【机器学习300问】82、RMSprop梯度下降优化算法的原理是什么?

RMSprop&#xff0c;全称Root Mean Square Propagation&#xff0c;中文名称“均方根传播”算法。让我来举个例子给大家介绍一下它的原理&#xff01; 一、通过举例来感性认识 建议你第一次看下面的例子时忽略小括号里的内容&#xff0c;在看完本文当你对RMSprop有了一定理解时…

使用单片机的IO引脚直接驱动段码屏

使用单片机的IO引脚直接驱动段码屏,目的是为了降低成本。这种古老的应用,在低功耗产品中比较多见。 如:水表&#xff0c;燃气表等需要电池供电的产品。 下面纯属个人理解&#xff0c;未经测试。 1/3Duty表示LCD共有3个COM引脚,分别占显示周期的1/3 1/2BIAS表示电压0和VCC 1、…

通义千问2.5中文能力地表最强

随着人工智能技术的不断进步&#xff0c;智能问答系统已成为人们日常生活中不可或缺的一部分。阿里巴巴集团作为全球领先的科技公司&#xff0c;一直致力于AI领域的研发和创新。最近&#xff0c;阿里巴巴发布了其最新的智能问答系统——通义千问2.5。 通义千问2.5在AI问答领域…

企业签名分发跟应用商城分发有什么区别

企业签名分发是移动应用开发者在应用程序发布前测试、内部分发和特定的受众群体分发等方面比较常用的一种工具。那对于应用商城分发有啥区别&#xff0c;下面简单的探讨一下。 独立分发能力 通过企业签名分发开发者可以自己决定应用程序的发布时间和方式&#xff0c;不用受应…

真驱鸟农业专用插电款驱鸟器,防喜鹊、麻雀各种鸟类

成年喜鹊的栖息地非常多样化&#xff0c;它们常常在人类活动的区域出没&#xff0c;喜欢把鸟巢建在民宅旁边的大树上、旷野的高树上或者电线塔杆上。白天&#xff0c;它们会飞到农田等开阔的地方觅食&#xff0c;到了傍晚则会返回巢内栖息。 喜鹊食性杂&#xff0c;它们的食物组…

【Linux】编写一个简易的shell

思维导图 学习目标 将简易的shell代码进行编写。 一、阐述shell的基本思路 在进程程序替换中&#xff0c;我们可以将一个指令交给子进程&#xff0c;让子进程去完成这个指令。如果这个命令是一个内建命令&#xff0c;我们需要将这个命令交给bash进行处理。 大致思路是&#xf…

【更具吸引力的回答】Java中final、finally、finalize的区别(二)

当谈到Java中的final、finally和finalize关键字时&#xff0c;它们各自在编程中扮演着不同的角色。下面我将从您提出的几个方面来详细解释它们之间的区别&#xff1a; 1. final 概念与用途&#xff1a;final关键字在Java中用于表示不可变性。它可以修饰类、方法和变量&#x…

在CentOS 7服务器及Windows 10客户端间建立并配置NFS服务

在CentOS 7服务器及Windows 10客户端间建立并配置NFS服务 引言 网络文件系统(Network File System)&#xff0c;简称NFS&#xff0c;是一种分布式文件系统协议。它允许网络上的客户端机器像访问本地磁盘文件一样&#xff0c;通过网络访问服务器上的文件。在某些特定的业务场景中…

从drugbank提取药物对应的靶点和基因信息

DrugBank是一个综合性的在线数据库,它提供了关于药物的详细化学、药理、药代动力学和药物-药物相互作用的信息。这个数据库是一个宝贵的资源,广泛用于药物研究、药理学、毒理学、药物设计和个性化医疗等领域。 以下是DrugBank的一些主要特点和用途: 药物信息:DrugBank提供了…

HTTP/1.0、HTTP/1.1、HTTP/2.0区别

文章目录 区别HTTP/1.0HTTP/1.11. 持久连接&#xff08;长连接&#xff09;2. 管道化3. Host头字段4. 分块传输编码5. 缓存机制6. 请求方法 HTTP/2.01. 二进制分帧2. 多路复用3. 服务器推送4. 优先级设置5. 头信息压缩6. 安全性7. 流量控制 区别 特性HTTP/1.0HTTP/1.1HTTP/2.0…

【笔试训练】day23

一、打怪 思路 由于是先手攻击&#xff0c;如果一次攻击就能杀死小怪&#xff0c;那么说明可以为无限杀小怪。 再计算杀一只小怪要扣多少血就好了&#xff0c;再用总生命值去除这个扣血量&#xff0c;得到的就是最多杀死小怪的数量。注意&#xff0c;由于最后一定要活下来&am…