我是靠谱客的博主 无心哈密瓜,最近开发中收集的这篇文章主要介绍HPjmeter入门级介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先来简单介绍一下 HPJmeter 中的几个功能。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.       启动:

HPJmeter 本身就是一个 jar 包,可以通过 java 命令直接启动,就像运行其他 jar 包形式的 java 程序一样。

Java –jar %HPJMETER_PATH%HPjmeter.jar

这样, HPJmeter 就启动了,但是如果我们要分析的 dump 文件很大的话, HPJmeter 就需要很多内存,否则很容易 crash

所以在它启动时,我们应该加上一些参数:

Java –Xms<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />512M –Xmx1024M –Xss8M –jar %HPJMETER_PATH%HPjmeter.jar

这次我们新加入了几个参数,其作用如下:

名称

说明

–Xms512M

最小 java 使用内存设为 512M

–Xmx1024M

最大 java 使用内存设为 1024M

–Xss8M

栈大小为 8M

前两个参数保证打开较大的文件时不会 crash ,最后一个参数保证正常分析出 memory leak 怀疑点(稍后介绍)

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

分析可能潜在的内存泄漏问题。

这些功能中比较有用的就算是最后两个了,要注意的是最后一个功能,分析内存泄漏的那个,需要比较大的栈空间,所以如果你要使用这一功能的话最好在 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 工具的一部分,还有很多其他的功能等待大家去发掘,希望对大家有帮助。

转载于:https://blog.51cto.com/hanmei/135665

最后

以上就是无心哈密瓜为你收集整理的HPjmeter入门级介绍的全部内容,希望文章能够帮你解决HPjmeter入门级介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部