性能测试之--应用内存升高--内存泄漏

在性能测试过程中,发现应用的内存一直升高,解决方案?

答:先去看应用是否配置了堆内存信息。若无,去配置,若已配置。如下:

手动执行垃圾回收,执行成功内存回落则垃圾回收机制正常,执行后内存依然不回落则垃圾回收机制有问题,需要进一步排查。

打堆dump信息,有两种方式:

第一种在jvm上面打:

点击堆dump,dump信息生成后会给出提示,在服务器的哪个路径下,进入到对应的服务器目录下查看dump,并且下载到本地,下载有两种办法:一种SZ,一种文件服务器方式,在此推荐文件服务器方式,因为文件太大,SZ方式会导致中途超时。

第二种是通过命令打堆dump信息:

命令为:

jmap -dump:format=b,file=文件名 [pid]   文件名为自定义,pid为进程id号,可以通过ps -ef|gerp java  来查看。

性能测试之--应用内存升高--内存泄漏_第1张图片

dump信息打完后,接下来就要分析了。

可以利用ibm工具去分析dump信息,看出来是哪里内存泄漏。

ibm如何去分析:

在图表处看是哪里的内存泄漏,再根据百分比看是哪里的内存泄漏,将泄漏的信息发给研发定位。

ibm工具启动时候一定要看服务器的内存,启动命令为:

java -jar -Xms4g -Xmx4g “ibm.jar”

 

 

 

 

你可能感兴趣的:(软件性能测试)