求java内存泄露测试工具
同志们,谁研究过java内存泄露的问题,我的程序一放上服务器就报
java.lang.OutOfMemoryError: PermGen space 这个错误,增加了tomcat内存也不行,在本地运行正常,求java内存泄露测试
java
测试工具
------解决方案--------------------不是你代码的问题
------解决方案--------------------楼主试试这个吧 JProfiler
具体使用方法可以查看:http://www.blogjava.net/ddpie/archive/2007/05/14/117450.html
------解决方案--------------------jconsole不错呢。看看
------解决方案--------------------你需要设置的参数是-XX:MaxPermSize=1g或者更大,不是-Xmx哦
按理说如果两个单独的tomcat能运行,那么单独的一个MaxPermSize设置得足够大是可以的
------解决方案--------------------PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小
上面是网上搜的一些关于解决你问题的信息。具体可以参见http://peak.iteye.com/blog/52606
------解决方案--------------------#9 得分:0 回复于: 2013-03-02 19:28:59
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小
上面是网上搜的一些关于解决你问题的信息。具体可以参见http://peak.iteye.com/blog/52606
------解决方案--------------------JDK1.6后有自带的一个 用netbeans 可以直接调用出来,外部的话要运行一个命令 在bin目录 你看一看