JPSE问题诊断指导六——Java VisualVM

Java VisualVM是JDK中最新的工具中的一个。这个工具对应用开发者定位应用的问题和监视与提高应用的性能很有用。使用Java VisualVM你可以生成和分析堆dump,跟踪内存消耗,执行和监视垃圾回收,执行轻量级的内存和CPU分析。这个工具对调节堆size、离线分析和事后诊断也很有用处。

此外,你还可以使用已有的Java VisualVM功能扩展插件。例如,JConsole中的大部分功能都能通过MBeans标签和JConsole插件包装标签实现。

Java VisualVM允许你执行下面的问题定位操作:


  • 查看本地和远程Java应用列表
  • 查看应用配置和运行时环境。对于每个应用,这个工具都显示基本运行时信息:PID,host,main class,传输到进程的参数,JVM版本,JDK home路径,JVM flags,JVM参数和系统属性。
  • 开启或者关闭当一个应用发生OutOfMemoryError异常时的堆dump功能
  • 监视应用的内存消耗、运行中的线程和已加载的类
  • 立即触发垃圾回收
  • 立即创建堆dump。之后你可以以多种视图查看堆dump:总结、按类分类、按实例分类。你也可以存储堆dump到本地文件系统。
  • 分析应用性能或者分析内存分配(仅针对本地应用)。你也可以保存分析数据。
  • 立即创建线程dump(Java应用的活跃线程的堆栈)。
  • 分析core dump(Oracle Solaris 和 linux)
  • 通过应用快照离线分析应用
  • 获取由社区贡献的附加插件
  • 编写和共享你自己的插件
  • 展示和与MBeans交互(需要安装MBeans插件)

当你开启一个Java VisualVM时,应用主窗口打开,展示了运行在本机上面的Java应用列表,和运行在任何连接到的远程机器上的Java应用列表,任何保存的JVM core dumps列表,保存的应用快照列表。

Java VisualVM自动检测和连接到运行在JDK上面的Java应用或者以正确的系统属性启动的应用的JMX代理。对于检测和连接到远程机器上面的代理的工具,如果Java VisualVM不能自动发现和连接到运行目标应用的JMX代理商的话,jstatd进程必须在远程机器上面运行,然后这个工具提供一个显式的方式给你创建这些连接。


转载于:https://my.oschina.net/codefire/blog/373012

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值