首页 > 编程语言 >Javake可视化故障处理工具-VisualVM

Javake可视化故障处理工具-VisualVM

时间:2023-12-06 23:44:21浏览次数:41  
标签:Javake 选项卡 插件 Dcom 线程 可视化 jmxremote VisualVM

VisualVM( All-in-One Java Troubleshooting Tool)是功能最强大的运行监视和故障处理程序之一,曾经在很长一段时间内是Oracle官方主力发展的虚拟机故障处理工具。 Oracle曾在VisualVM的软件说明中写上了“All-in-One”的字样,预示着它除了常规的运行监视、故障处理外,还将提供其他方面的能力,譬如性能分析(Profiling)。VisualVM的性能分析功能比起JProfiler、 YourKit等专业且收费的Profiling工具都不遑多让。 而且相比这些第三方工具, VisualVM还有一个很大的优点:不需要被监视的程序基于特殊Agent去运行,因此它的通用性很强,对应用程序实际性能的影响也较小, 使得它可以直接应用在生产环境中。这个优点是JProfiler、 YourKit等工具无法与之媲美。

官方文档:(VisualVM在jdk8之后分离出来单独发展。)

1、java8 visualVM

2、VisualVM

一、VisualVM两个连接方式

方式一:JMX方式

第一步:远程java应用需要加上如下启动参数    
# 远程服务器ip,即本机ip,不建议用 localhost、127.0.0.1
-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX 
# 允许 JMX 远程调用(jdk6以下要加,以上默认开启)
-Dcom.sun.management.jmxremote
# 自定义 JMX 端口号和RMI端口
-Dcom.sun.management.jmxremote.port=8899
-Dcom.sun.management.jmxremote.rmi.port=8899(可以不加)
# 是否需要 ssl 安全连接方式
-Dcom.sun.management.jmxremote.ssl=false
# 是否需要密钥 
-Dcom.sun.managent.jmxremote.authenticate=false
第二步:配置jmxremote权限和密码    -Dcom.sun.managent.jmxremote.authenticate设置false也不行 也要输入用户、口令才能连接成功。
进入${jre.home}/lib/management目录:
# 根据密码文件模板拷贝一份
cp -r jmxremote.password.template jmxremote.password
#编辑jmxremote.password去掉monitorRole  QED 和 controlRole  R&D 前面的#注释 ,也可以自行定义账号和密码
#修改权限
chmod 0400 jmxremote.password
# jmxremote.access文件里用来设置账号对应的jmx操作权限,里面默认设置了两个monitorRole 和 controlRole 权限,如果自定义账号,这里也必须进行权限设置,设置哪些权限参考controlRole的设置。

方式二:jstad连接.

#进入${JAVA_HOME}/bin创建新文件 jstatd.all.policy,编辑该文件,填入内容

grant codebase"file:${java.home}/../lib/tools.jar"{

    permission java.security.AllPermission;

};

# 给该文件加上执行权限

chmod +x jstatd.all.policy

#启动命令(在$JAVA_HOME/bin目录下执行) 命令中默认监听1099端口,可通过-p指定端口,hostname使用服务器的公网ip,若只在局域网内使用可使用本地ip。

nohup ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.2.211 -p 12345 &

两种方式都要配置,因为有些插件仅支持一种方式。比如MBeans需要JMX连接方式、VisualGC仅支持JStatd连接方式。

二、VisualVM四个基本选项卡

1、选项卡--概述

java应用信息,jvm参数设置、sysproperty参数设置。

2、选项卡--监视

监视cpu、线程、类加载、堆和永久代动态变化。可以手工执行GC垃圾回收、堆转储操作。

3、选项卡--线程

监视所有线程活动状态,可以执行线程转储操作。

4、选项卡--抽样器,用于性能分析。

通过堆程序运行时cpu耗时、内存分配抽样并快照数据,用于性能分析。

三、VisualVM 堆快照分析

VisualVM支持载入堆快照然后进行分析。可以于MAT互补。

四、VisualVM强大在于接入各种功能强大的插件

1、插件更新地址设置

地址:https://visualvm.github.io/pluginscenters.html   选择版本对应的地址进行设置

 

2、线程相关插件

2.1、Threads Inspector插件

线程选项卡下一个功能,可以查看线程堆栈信息。

2.2、TDA(Thread Dump Analyzer)插件

用于分析线程转储。

使用参考:TDA

3、堆内存相关插件

3.1 VisualGC插件

使用参考:VisualGC

3.2 GC日志分析 GCViewer

GCViewer不是VisualVM插件,由于相关 放在这里一起介绍。

参考:GCViewer

4、源代码跳转

 

使用参考:Source Support

5、启动性能分析插件-Startup Profiler

6、动态跟踪插件-BTrace.

 

其他插件:

Tracer:使用各种探针从应用程序收集指标,并在时间轴中显示数据。数据以图形和表格形式显示,并可导出为通用格式,供外部工具进一步处理。
Buffer Monitor:监控ByteBuffer.allocateDirect创建的直接缓冲区和FileChannel.map创建的映射缓冲区的使用情况
OQL Syntax Support:堆转储分析里面的OQL增强编辑器。参考:OQL
JConsole Plugins Container:支持JConsole扩展。 参考:JConsole
MBeans Browser:JConsole里各种管理Bean。 参考:JConsole

标签:Javake,选项卡,插件,Dcom,线程,可视化,jmxremote,VisualVM
From: https://www.cnblogs.com/cac2020/p/17880794.html

相关文章

  • 可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案
    由于我国养宠物群体的不断膨胀,宠物市场也占据了经济的很大一部分,宠物做为人类的好朋友,可以给人们带来极高的精神抚慰,作为“毛孩子”家长,爱宠人士自然不会亏待自家宠物,都会选择最好的口粮以供宠物食用。此前,大家都会选择知名度较高、价格较为昂贵的进口口粮,不过随着国产口粮的普及,越......
  • 做一个数据可视化大屏需要多少预算?其实完全可以不花钱!
    数据可视化大屏成为企业展示数据、决策分析的重要工具。然而,许多人认为制作这样的大屏成本高昂,其实根据我作为数据可视化设计师的经验,你可以达到这一目标却不用花一分钱。首先,你要懂得利用免费工具和资源。在如今丰富的免费工具中,有许多强大的数据可视化工具可供使用,例如Tableau......
  • 可视化监控云平台/智能监控平台EasyCVR国标设备开启音频没有声音是什么原因?
    视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。GB28181视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语......
  • Matplotlib数据可视化综合应用Matplotlib图形配置在线闯关_头歌实践教学平台
    Matplotlib数据可视化综合应用图形配置第1关配置颜色条第2关设置注释第3关自定义坐标刻度第4关配置文件与样式表第1关配置颜色条任务描述本关任务:使用colorbar绘制一个热成像图。编程要求在右侧编辑器Begin-End处补充代码,根据输入数据绘制热成像图并隐藏坐标轴,具体要求如......
  • R语言汽车口碑数据采集抓取、文本数据分词和词云可视化实现
    原文链接:https://tecdat.cn/?p=34469原文出处:拓端数据部落公众号本文以R语言为工具,帮助客户对汽车网站的口碑数据进行抓取,并基于文本数据分词技术进行数据清理和统计。通过词频统计和词云可视化,对口碑中的关键词进行分析,挖掘出消费者对汽车的评价和需求,为汽车制造商和销售商提供......
  • 数据可视化免费之路为何越走越快?
    在数字化浪潮的推动下,数据可视化已成为解读和利用数据的关键工具。作为一个需要经常接触各种数据可视化软件的设计师,我发现免费数据可视化工具的兴起正引领着数据行业的新潮流。为何越来越多的数据可视化工具选择走向免费之路?让我们一起探讨其中的原因。首先是普及......
  • VideoPipe可视化视频结构化框架更新总结(2023-12-5)
    项目地址:https://github.com/sherlockchou86/video_pipe_c往期文章:https://www.cnblogs.com/xiaozhi_5638/p/16969546.html很久没有更新了,本次记录4个,有兴趣的扫码加群交流。支持rtsp推流现在pipeline末尾支持以rtsp的方式推流,注意不需要额外的rtsp服务器,自己主机就是rtspser......
  • 流媒体音视频/安防视频云平台/可视化监控平台EasyCVR无法启动且打印panic报错,是什么原
    国标GB视频监控管理平台/视频集中存储/云存储EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼宇、校园、仓储等场景中......
  • 流媒体音视频/安防视频云平台/可视化监控平台EasyCVR无法启动且打印panic报错,是什么原
    国标GB视频监控管理平台/视频集中存储/云存储EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼宇、校园、仓储等场景......
  • 基于Java的驾校收支管理可视化平台设计与实现(源码+lw+部署文档+讲解等)
    文章目录前言具体实现截图论文参考详细视频演示代码参考源码获取前言......