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
- Java JVM(十):JavaVisualVM 的个人使用
- JavaVisualVM监控远端JAVA程序
- JVM 的个人见解
- 个人对webdriver的理解(十)
- java的JVM使用unicode
- 个人学习(十)
- Java作业-十个人过山洞(多线程)
- jvm的个人理解【1】
- Java JVM(十一):MAT 工具的使用
- Understanding the JVM(十)虚拟机类加载的过程
- JVM(十) 命名空间
- java多线程(十)使用线程安全的集合
- Java 多线程学习笔记(十) InheritableThreadLocal的使用
- Java个人理解之时间的使用
- 关于JVM的一点个人的理解
- 人生该珍惜的十个人
- 打造个人品牌的十大项目
- 不超过十个人的好电影
- android 设置监听器
- Here Document
- 获取两个字符串中最大相同子串的实现
- c++初始化
- Android进程回收的先后顺序
- Java JVM(十):JavaVisualVM 的个人使用
- ARM9 ADS8344 SPI驱动移植 (四)
- JavaScript实现页面下拉刷新
- centOS 操作记录一
- What will happen if we begin transaction in hibernate but do not commit it?
- ## memset 清除结构体的方法
- android:contentDescription 的用途
- 为发烧而生的是小米 为合同管理而生的是奥普
- No live SolrServers available to handle this request