VisualVM 2.2.1中文完整版是面向Java虚拟机的一体化图形化诊断工具,它把JDK里各类命令行诊断工具整合到可视化界面中,摆脱了纯命令行排查的不便,它的定位并非替代专业APM,而是在开发与测试阶段提供一种轻量、无需额外部署的深度诊断手段。

VisualVM使用教程
启动与连接本地进程。如果JDK安装完整,可在bin目录下找到jvisualvm.exe(Windows)或jvisualvm(Linux/macOS)直接启动。启动后,左侧“应用程序”窗口会自动列出当前运行的本地Java进程。双击目标进程即可连接,主界面会显示“概述”“监视”“线程”“抽样器”等选项卡。
连接远程进程。远程监控需要目标JVM开启JMX。在远程应用的启动参数中加入-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=端口号-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false,重启应用后,在VisualVM中右键“远程”添加主机,再在该主机下添加JMX连接即可。
基础监控。在“监视”选项卡中,可以查看CPU、堆内存、类加载和线程数的实时曲线。点击“执行垃圾回收”按钮可手动触发GC,观察内存回收效果。如果老年代内存持续增长且FullGC后回收不明显,可能存在内存泄漏。
CPU与内存采样。切换到“抽样器”选项卡,点击“CPU”或“内存”开始采样。CPU采样会按方法耗时排序,帮助定位热点方法;内存采样则按类统计对象分配情况。采样对应用性能影响较小,适合在生产或压测环境中短时间使用。
VisualVM分析hprof详细步骤
获取hprof文件
JVM启动参数:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/path/dump.hprof
手动生成:jmap-dump:format=b,file=heap.hprof<pid>
VisualVM中右键应用选择“堆Dump”。
调整VisualVM内存
若hprof文件较大,修改etc/visualvm.conf中的-J-Xmx,例如设为4g或8g,避免工具自身崩溃。
加载hprof文件
打开VisualVM,选择“文件→装入”,选中.hprof文件。
查看摘要信息
在“摘要”页查看堆大小、对象总数、类数量和是否发生OOM。
定位可疑类
切换到“类”标签页,按“实例数”或“大小”降序排列,找出占用内存异常的业务类。
查看实例和引用链
右键可疑类选择“在实例视图中显示”,再选中具体实例,查看“到GC根的路径”,确认是谁长期持有该对象。
使用OQL查询
通过OQL控制台查询特定对象,例如查找超大集合或特定类实例。
导出分析报告
可通过“文件→生成HTML报告”保存分析结果。
VisualVM分析堆内存溢出
1.提前配置JVM参数:启动Java程序时添加`-XX:+HeapDumpOnOutOfMemoryError`,程序发生OOM时自动生成堆快照文件。
2.复现问题并拿到hprof,使用VisualVM加载堆快照文件。
3.先看概览页面,确认堆上限、实际占用,判断是瞬间大对象分配,还是内存持续泄漏。
4.在类视图排序,找到占用内存靠前的业务类,确认是否是业务批量创建大量对象没有释放。
5.进入实例详情,查看引用链,找到GCRoots,确认是哪个集合、全局变量持有对象,导致无法回收。
6.结合线程快照,查看业务线程执行栈,定位产生这些对象的业务代码位置。
7.对比多次堆快照:多次抓取堆快照,观察同一类的实例数量是否持续上涨,持续上涨一般属于内存泄漏。
8.验证修复:修改代码释放无用对象、调整集合逻辑、优化批量加载逻辑,重新运行程序,使用VisualVM持续监控内存曲线,确认内存不再持续上涨。
更新内容
--显示本地和远程Java进程
自动检测并列出本地和远程运行的Java应用程序(jstatd必须在远程主机上运行)。您还可以通过JMX连接手动定义应用程序。

--显示流程配置和环境
对于每个进程,软件都会显示基本的运行时信息:PID,主类,传递给Java进程的参数,JVM版本,JDK主页,JVM标志和参数以及系统属性。

--监控流程性能和内存
软件监视应用程序CPU使用率,GC活动,堆和元空间/永久生成内存,已加载类的数量和正在运行的线程。

--可视化进程线程
在Java进程中运行的所有线程以及聚合的“运行”,“睡眠”,“等待”,“驻留”和“监视”时间一起显示在时间轴上。

--配置文件性能和内存使用情况
软件提供了用于分析应用程序性能和内存管理的基本配置功能。采样分析仪和仪器分析仪均可用。

--获取并显示线程转储
软件获取并显示线程转储,以立即了解目标进程中发生的情况。多个进程的同时线程转储有助于发现分布式死锁。

--获取并浏览堆转储
软件创建并查看按需或在OutOfMemoryError上创建的.hprof内存快照,以帮助发现低效的堆使用情况和调试内存泄漏。

--分析核心转储
软件能够从核心转储读取有关崩溃的Java进程及其环境的基本信息,还可以提取并打开所包含的线程和堆转储。

--离线分析应用程序
软件能够将应用程序配置和运行时环境以及所有已采取的线程转储,堆转储和事件探查器快照保存到单个应用程序快照中,以后可以脱机处理。

























大小: 649.2M

Java SE Development Kit(JDK6)6u43 多国语言版
易语言33个皮肤模块绿色版
STC单片机ISP下载编程软件v6.85i 官方最新版
lingoV14.0 绿色中文版
AutoIt(AU3)v3.3.14.2 汉化版
派森(Python)v2.7.18 官方正式版【x86|x64】
jdk99.0.4 官方最新版
VBScript编辑器(VbsEdit)V5.2.4.0 汉化绿色特别版
Delphi77.0 Build 8.1企业版龙卷风集成Update1
pyscripter x642.5.3 官方最新版
Delphi 7(集成控件)v7.0Build8.1企业版龙卷风集成Update1
visual studio emulator for androidv1.1.622 官方最新版
Python编程和调试工具(ActivePython)v3.6.0.3600 英文版
UML建模软件(ArgoUML)v0.34 免费版
html5编程工具(LayaAir IDE)2.7.0 官方最新版
微信开发者工具1.03.2011120 官方最新版
i-Autoit1.01正式版
OgreGUI(非标准字符串资源的汉化工具)V2.01 汉化绿色特别版
Java编译器(时修改Java源代码并编译、保存Java源文件)V1.01绿色中文免费版