Java JVM(十):JavaVisualVM 的个人使用

来源:互联网 发布:最新网页制作软件 编辑:程序博客网 时间:2024/05/19 05:04
包括:
一. JavaVisualVM 概念
二. 个人对 JavaVisualVM 的使用

一. JavaVisualVM 概念

        该工具是Java 自带的内存监测工具,可以监控CPU,堆,类,线程等信息。整体如下图所示:

图1

详细如下:
1. 监控线程:

图2


2. 监控内存:



3. 创建dump 文件,并且 dump 文件对比(如下图,可以知道哪些对象增加了,哪些对象减少了):



除此之外,还可以在插件中心中下载插件,比如 GC 插件等,得到更多的信息,如下图:



二. 个人对 JavaVisualVM 的使用
        在本人具体使用后,总的来说,感觉该工具可以大体上,粗略地看程序的运行。
  • 比如说,知道程序的线程目前有多少,是不是有一些异样的线程(在分析Hibernate Search 线程过多的时候用到它来看一下线程,发现每个实体都创建了线程)。
  • 比如说,可以利用它知道目前的堆内存的使用情况(下载了 GC 插件后),是不是内存经常爆满,需要经常 GC。
        在后面重新看的时候才发现  dump 文件对比,这样可以知道某个时间段 有哪些对象增加了,增加了多少,是否符合常理,以此判断是否出现内存泄露。

        大家还有什么实际中使用JavaVisualVM的好的技巧,求指教。


参考:
1. 使用 JavaVisualVM 进行性能分析以及调优:http://www.ibm.com/developerworks/cn/java/j-lo-visualvm/

0 0