今天我跟大家介绍一下真正的HPJmeter实战,如果大家读过我以前的博文应该知道我遇到了一个TOMCAT的内存泄漏的大bug。当时我就是用HPjmeter发现的,现将具体的步骤介绍如下:
1 先在WEB应该所在的JVM上配置相应的监控参数。(在入门博文中我已经介绍了)
2 定期的DUMP内存。(kill -3 pid
3 利用hpjmeter中的一个强大功能。(Memory Leaks
如图:
 
 
HPjmeter实战篇介绍
 
 
HPjmeter实战篇介绍
 
大家可以看到hpjmeter已经把一些占用比较大的对象列了出来,这些肯定是怀疑点了,但只从一个DUMP文件中所得的这些信息肯定不能完全定位问题。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

然后我们再DUMP一下内存,比较一下。
HPjmeter实战篇介绍
 
通过两个分析结果,我们发现一个HASHTABLE增长了。(ObjectID:747fbea0

 

然后我们再用另外一个功能查询一下吧,Reference Graph Tree
 
HPjmeter实战篇介绍
 
 
HPjmeter实战篇介绍
 
大家发现了,那个HASTTABLE就是nOnceTokens, 而且这个对象是在DigestAuthenticator这个类中。我们已经定位具体的类了。我想大家已经知道怎么查问题了吧。

 

大家可以通过TOMCATBUG系统或是在BAIDU或是GOOGLE上搜索一下就能查找出相关bug的条目。(检索条件:digestauthenticator memory