HPjmeter入门级介绍 推荐
2009-03-06 10:57
113 查看
先来简单介绍一下HPJmeter中的几个功能。
1. 启动:
HPJmeter本身就是一个jar包,可以通过java命令直接启动,就像运行其他jar包形式的java程序一样。
Java –jar %HPJMETER_PATH%\HPjmeter.jar
这样,HPJmeter就启动了,但是如果我们要分析的dump文件很大的话,HPJmeter就需要很多内存,否则很容易crash。
所以在它启动时,我们应该加上一些参数:
Java –Xms512M –Xmx1024M –Xss8M –jar %HPJMETER_PATH%\HPjmeter.jar
这次我们新加入了几个参数,其作用如下:
前两个参数保证打开较大的文件时不会crash,最后一个参数保证正常分析出memory leak怀疑点(稍后介绍)
2. 分析JVM heap快照:
启动完成后,我们可以通过点击File餐单下的Open File来打开快照文件。
选择要打开的文件后,工具就会开始分析快照文件,如果文件较大的话,时间可能比较长,如果过大的话,可能就打不开了,要注意。
分析完成后就能看到这样的窗口:
其中有几个比较重要的菜单给大家说一下:
这些功能中比较有用的就算是最后两个了,要注意的是最后一个功能,分析内存泄漏的那个,需要比较大的栈空间,所以如果你要使用这一功能的话最好在HPJmeter启动时,将栈稍微调大些,参数就是-Xss,但是注意不能调得太大,否则HPJmeter会out of memory。
3. 实战:
首先我们打开一个快照文件,利用Estimate > Memory Leaks菜单来分析潜在的内存泄漏,如果分析的结果中有collection类型,大家还需要到引用树中查找collection下面的元素,从而锁定具体对象,这样就可以找到一些“嫌疑犯”,通过反复的获取快照、分析内存泄漏,把“嫌疑犯”的圈子逐渐缩小,最后便能找到真正的内存泄漏根源。
另外,本工具可以分析GC log,配合分析快照,有助于发现问题。
方法很简单,只要直接打开GC log文件即可。见下图:
需要注意的是,这个工具只能打开由一下参数生成的GC log, 不要添加其他GC相关的参数:
-verbose:gc -Xloggc:gc.log
本教程只介绍了HPJmeter工具的一部分,还有很多其他的功能等待大家去发掘,希望对大家有帮助。
1. 启动:
HPJmeter本身就是一个jar包,可以通过java命令直接启动,就像运行其他jar包形式的java程序一样。
Java –jar %HPJMETER_PATH%\HPjmeter.jar
这样,HPJmeter就启动了,但是如果我们要分析的dump文件很大的话,HPJmeter就需要很多内存,否则很容易crash。
所以在它启动时,我们应该加上一些参数:
Java –Xms512M –Xmx1024M –Xss8M –jar %HPJMETER_PATH%\HPjmeter.jar
这次我们新加入了几个参数,其作用如下:
名称 | 说明 |
–Xms512M | 最小java使用内存设为512M |
–Xmx1024M | 最大java使用内存设为1024M |
–Xss8M | 栈大小为8M |
2. 分析JVM heap快照:
启动完成后,我们可以通过点击File餐单下的Open File来打开快照文件。
选择要打开的文件后,工具就会开始分析快照文件,如果文件较大的话,时间可能比较长,如果过大的话,可能就打不开了,要注意。
分析完成后就能看到这样的窗口:
其中有几个比较重要的菜单给大家说一下:
菜单项 | 说明 |
File > Compare | 比较两个打开的heap快照,比较实用,尤其是分析两份快照的差异时更有效。 |
Metrics > Memory/Heap > Live Objects (count) | 列出heap中所有对象,以及这些对象的个数。 |
Metrics > Memory/Heap > Live Objects (Bytes) | 列出heap中所有对象,以及这些对象的大小(字节)。 |
Metrics > Memory/Heap > Live Array Size | 列出heap中所有数组,及其元素个数。 |
Metrics > Memory/Heap > Reference Graph Tree | 已树的形式描述heap中对象的引用关系。 |
Estimate > Memory Leaks | 分析可能潜在的内存泄漏问题。 |
3. 实战:
首先我们打开一个快照文件,利用Estimate > Memory Leaks菜单来分析潜在的内存泄漏,如果分析的结果中有collection类型,大家还需要到引用树中查找collection下面的元素,从而锁定具体对象,这样就可以找到一些“嫌疑犯”,通过反复的获取快照、分析内存泄漏,把“嫌疑犯”的圈子逐渐缩小,最后便能找到真正的内存泄漏根源。
另外,本工具可以分析GC log,配合分析快照,有助于发现问题。
方法很简单,只要直接打开GC log文件即可。见下图:
需要注意的是,这个工具只能打开由一下参数生成的GC log, 不要添加其他GC相关的参数:
-verbose:gc -Xloggc:gc.log
本教程只介绍了HPJmeter工具的一部分,还有很多其他的功能等待大家去发掘,希望对大家有帮助。
相关文章推荐
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- 小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐
- 小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- (转)Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- 个性化推荐 简单介绍(协同过滤 入门)
- 程序员的机器学习入门笔记(七):推荐系统入门介绍
- opengl es2.0 入门教程推荐(正方体,案例解说,Shader介绍,纹理贴图)
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Microsoft ASP.NET 快速入门教程的大纲介绍(一个值得推荐的.net网站也可以说是.net资料库)
- JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用
- ASP.NET MVC 入门介绍 (上)
- Oracle入门书籍推荐
- 通过金矿模型介绍动态规划(经典入门)
- Git入门介绍-4-分支和合并