今天我跟大家介绍一下真正的HPJmeter实战,如果大家读过我以前的博文应该知道我遇到了一个TOMCAT的内存泄漏的大bug。当时我就是用HPjmeter发现的,现将具体的步骤介绍如下:
1 先在WEB应该所在的JVM上配置相应的监控参数。(在入门博文中我已经介绍了)
2 定期的DUMP内存。(kill -3 pid)
3 利用hpjmeter中的一个强大功能。(Memory Leaks)
如图:
![HPjmeter实战篇介绍 HPjmeter实战篇介绍](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM2Mi9iOGQ2MmMwOGQ4MGQ0NjI0NmRlZDkxNjhmNzY5MjYwMi5naWY%3D.gif?w=700&webp=1)
![HPjmeter实战篇介绍 HPjmeter实战篇介绍](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzgwMS85MDZjOTQyYjg3NjllN2YzOTZjZTdjYmRiZWE3NTU5OS5naWY%3D.gif?w=700&webp=1)
大家可以看到hpjmeter已经把一些占用比较大的对象列了出来,这些肯定是怀疑点了,但只从一个DUMP文件中所得的这些信息肯定不能完全定位问题。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
然后我们再DUMP一下内存,比较一下。
![HPjmeter实战篇介绍 HPjmeter实战篇介绍](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMwNC9jZjhjMDhhMWEwOTZkZDI0NWMwNzhlNTYwM2Q4ZGJkOC5naWY%3D.gif?w=700&webp=1)
通过两个分析结果,我们发现一个HASHTABLE增长了。(ObjectID:747fbea0)
然后我们再用另外一个功能查询一下吧,Reference Graph Tree
![HPjmeter实战篇介绍 HPjmeter实战篇介绍](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk5OS82Yzc0YjAzMTcxOWJiZGQ4N2RjNWQ0MzM1OTUwNjI4Ny5naWY%3D.gif?w=700&webp=1)
![HPjmeter实战篇介绍 HPjmeter实战篇介绍](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI1LzllNTZjNDVmZjI3YWNhZTFkZThjYTEzMDYwNWY1MjQxLmdpZg%3D%3D.gif?w=700&webp=1)
大家发现了,那个HASTTABLE就是nOnceTokens, 而且这个对象是在DigestAuthenticator这个类中。我们已经定位具体的类了。我想大家已经知道怎么查问题了吧。
大家可以通过TOMCAT的BUG系统或是在BAIDU或是GOOGLE上搜索一下就能查找出相关bug的条目。(检索条件:digestauthenticator memory)
转载于:https://blog.51cto.com/hanmei/136856