visualvm工具的使用

这篇具有很好参考价值的文章主要介绍了visualvm工具的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,windows本地连接

通过命令行执行以下命令

jvisualvm

即可弹出visualvm窗口,可直接查看本地java服务的相关信息,包括CPU,内存,类与线程的数量等等。

二,远程连接

visualvm远程连接服务器查看服务的VM信息有两种途径:JMX和Jstatd。

2.1 JMX

JMX(Java Management Extensions)是一个为应用程序植入管理功能的标准化代理和服务。通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。JConsole以及JVisualVM 都是通过JMX来实现对JAVA应用程序的监控。

2.1.1 服务器配置

visualvm通过JMX方式进行远程连接,需要对服务器进行配置。

# 切换到服务器的jdk安装路径下
cd /Data/app/oracle/product/11.2.0/dbhome_1/jdk
# 切换到jmx配置的子目录下
cd jre/lib/management
# 将目录下的模板文件复制后,再进行修改
cp jmxremote.password.template jmxremote.password
vim jmxremote.password
# 去掉 [# monitorRole  QED]和[# controlRole  R&D]的注释符号
sed -i 's/# monitorRole/monitorRole/p' jmxremote.password
sed -i 's/# controlRole/controlRole/p' jmxremote.password

2.1.2 运行服务命令配置

运行服务时添加参数配置

java -server  \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9999   \
-Dcom.sun.management.jmxremote.ssl=false   \
-Dcom.sun.management.jmxremote.authenticate=false   \
-Djava.rmi.server.hostname=10.175.94.106  \
-Dcom.sun.management.jmxremote.rmi.port=9999  \
-jar xxx.jar

参数解释

com.sun.management.jmxremote: 是否支持远程JMX访问,默认为true
com.sun.management.jmxremote.port: JMX远程监控端口号,注意防火墙开放端口
com.sun.management.jmxremote.ssl: 表示是否对连接开启SSL加密,默认开启
com.sun.management.jmxremote.authenticate: 是否需要开启用户认证,默认开启
java.rmi.server.hostname: 远程服务器的主机名
sun.management.jmxremote.rmi.port: RMI端口号(JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口),可以指定和JMX端口号相同

2.1.3 配置visualvm

服务器配置结束后,在visualvm左边栏的【远程】菜单右键添加远程主机。

在添加成功后的主机右键添加JMX连接时,连接输入框写上

10.175.94.106:9999

就可以查看该服务的VM信息。

这种方式每次都需要应用程序指定端口,使用时多多少少有些不方便。

2.2 Jstatd

命令jstatd是一个RMI服务端程序,它的作用相当于代理服务器,建立本地计算机与远程监控工具的通信。jstatd服务器将本机的Java应用程序信息传递到远程计算机。

2.2.1 配置安全策略

# 同样进入到jdk目录
cd /Data/app/oracle/product/11.2.0/dbhome_1/jdk
# 切换到配置安全策略的子目录下
cd jre/lib/security
# 配置安全策略
vim java.policy
# 在文件中新增一行:permission java.security.AllPermission;
# 启动jstatd
/Data/app/oracle/product/11.2.0/dbhome_1/jdk/bin/jstatd -J-Djava.security.policy=all.policy &

2.2.2 visualvm查看

在服务器执行命令后,在visualvm就可以看到该服务器正在运行中的Java应用程序了。

2.3 连接docker服务

2.3.1 JMX

修改Dockerfile文件即可文章来源地址https://www.toymoban.com/news/detail-666560.html

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.port=9999", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx", "-Dcom.sun.management.jmxremote.rmi.port=9999", "-jar","/app.jar"]

到了这里,关于visualvm工具的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java可执行命令】(十七)JVM运行时信息动态维护工具 jinfo:一个维护 JVM 相关的配置参数和系统属性的工具,辅助故障排除、诊断和优化 ~

    jinfo 是 Java Development Kit (JDK) 自带的一款命令行工具。它旨在为用户提供进程的运行时信息,特别是与 Java 虚拟机 (JVM) 相关的配置和系统属性。 jinfo 使得用户可以轻松地查看和修改正在运行的 Java 进程的参数,以便进行 故障排除、诊断和优化 。 jinfo 允许用户动态查询和修改

    2024年02月13日
    浏览(41)
  • Java线上故障排查(CPU、磁盘、内存、网络、GC)+JVM性能调优监控工具+JVM常用参数和命令

    根据服务部署和项目架构,从如下几个方面排查: (1)运用服务器:排查内存,cpu,请求数等; (2)文件图片服务器:排查内存,cpu,请求数等; (3)计时器服务器:排查内存,cpu,请求数等; (4)redis服务器:排查内存,cpu,连接数等; (5)db服务器:排查内存,cpu,连接数

    2024年02月07日
    浏览(46)
  • jvm-日志分析工具gcviewer的使用

    gcviewer是什么?     GCViewer是一个小工具,可以可视化Sun / Oracle、IBM、HP和BEA Java虚拟机生成的详细GC输出。它是在GNU LGPL下发布的自由软件。---官网翻译 gcviewer的使用 文章使用的配置 工具 环境或版本 idea 2021 系统 ios(mac) jdk 1.8 官网:https://github.com/chewiebug/GCViewer 下载:http

    2024年02月04日
    浏览(34)
  • 【JVM 监控工具】性能诊断--JProfiler的使用

    性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因素非常多,例如线程控制、

    2024年02月08日
    浏览(47)
  • jvm内存溢出排查(使用idea自带的内存泄漏分析工具)

    想分析堆内存溢出,一定在运行jar包时就写上参数 -XX:+HeapDumpOnOutOfMemoryError ,可以看我之前关于如何运行jar包的文章。若你没有写。可以写上参数,重启你的项目,等你的项目发生下一次堆内存溢出异常,在运行的同级文件夹,将产生类似这样一个文件 java_pid74935.hprof ,若你

    2024年02月09日
    浏览(45)
  • 【面试题】JDK(工具包)、JRE(运行环境和基础库)、JVM(java虚拟机)之间的关系?

    【面试题】JDK、JRE、JVM之间的关系? JDK (Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。 JRE (Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境

    2024年02月11日
    浏览(42)
  • JVM调优常用的工具JPS、JMAP、JSTAT、JSTACK和JCMD的使用详解

    查看PID信息 首先启动一个服务  使用jps 和 jps -l 的区别,使用jps -l 能够显示出服务的名称  熟悉JVM调优中常用的工具JMAP、JSTAT和JSTACK JMAP、JSTAT和JSTACK是Java开发中常用的工具,用于分析和调试Java应用程序。它们的使用场景如下: JMAP:JMAP用于生成Java堆转储快照,以便分析

    2024年02月03日
    浏览(36)
  • JVM-jvisualvm性能监控可视化工具使用与eden-s0-s1分配分析(三)

    目录 第一步:安装jvisualvm  第二步:安装VisualvmGc插件 方式一:jvisualvm工具直接下载安装 方式二:去官网下载导入安装 总结 第三步:idea安装VisualvM Launcher插件 第四步:演示young中eden、s0、s1垃圾回收过程 1、配置jvm堆大小  2、启动一个项目 3、打开jvisualvm 第五步:jvisualvm性

    2024年02月11日
    浏览(42)
  • JVM 性能调优及监控诊断工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解

    目录 一. 前言 二. jps(Java Virtual Machine Process Status Tool) 三. jstack 四. jmap(Memory Map)和 jhat(Java Heap Analysis Tool) 五. jstat(JVM统计监测工具) 六. hprof(Heap/CPU Profiling Tool) 七. 总结     工欲善其事,必先利其器。在日常的企业级 Java 应用开发、维护中,我们可能会碰到下面

    2024年02月04日
    浏览(35)
  • 深入理解JVM:Java使用new创建对象的流程

            ①new 对象         ②反射         ③对象的复制         ④反序列化 先看看常量池里面有没有,如果有,就用常量池的 看这个类有没有被加载过,如果没有,就执行类加载以及类的初始化。(对象的大小,在类加载的时候就确定了)。 对象在堆内存

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包