在性能测试中,怎么判断内存泄露与溢出
在不同的操作系统中都分别怎么判断? 和操作系统没啥大关系,看你要测试的程序使用的是什么容器,我现在测试的是Jboss,一般怀疑是内存溢出的时候可以看日志,没有的话用jprofile工具监控或其他工具。。他会具体的列出线程、内存等详细信息。。很容易就判断出是否是内存溢出或泄漏了。。。 补充:在性能测试的过程中,不要一直用这个工具监控。。影响性能。。只有怀疑有问题的时候用它来诊断。。。 在Unix和Linux使用 vmstat时间间隔 次数 (如 vmstat 5 10000)直接监控能获得空闲内存,然后通过判断空闲内存趋势也能知道内存是否泄漏。还可以使用nmon等监控小工具。 j2ee一般是监控jvm内存,可用工具比较多,最简单的莫过于jconsole了,jdk装好之后自带,如果是jdk1.6之后呢,还会有visualvm这个工具,是jconsole的升级版。。其他的可以用一些命令比如jstat。。。jprofiler也可以用的,开精简模式就好,这时候对服务器性能的影响比较小。
.net
类似jvm的.net CLR,,打开管理工具的性能,添加.net CLR的一些关于内存的计数器。windows服务器还可以用系统空闲内存来看是否有内存泄露。 这个不能简单的判断的 谢谢提供,继续努力!
http://www.discuz.net/static/image/common/sigline.gif
时尚画报 时尚画报首页
http://xejot.com
页:
[1]