定位java heap space_页面报OutofMemoryError:Java heap space问题定位及优化

背景:服务器是windows server 2008 R2系统,点击一个导出报表功能按钮,页面报如下错:

51a18de2832d85906d17938caad886ca.png

tomcat控制台里也报类似的错误,下面说一下定位和调优方法————

定位:

1、打开cmd控制台,因为是windows系统,使用ps -ef|grep java报不是内部命令,然后我还特意百度了一下T T

tasklist可以查看全部进程的进程id,如果不确定是哪个,可以在window任务管理器,跳转到进程查看tomcat运行的是哪个进程,其实就是java.exe啦~~

或者使用命令:netstat -aon |findstr "8080",根据端口号查看pid,这两种方法都是可以的~

2、然后根据pid查看是哪个类或方法占用内存最多,使用的命令是:jmap -histo 1100 >1.txt,1100是我tomcat的pid

3、cmd里直接1.txt打开日志,查看占用内存最高的是哪个类~推荐使用notepad++等专门的文本查看工具,用记事本打开显示得很乱~

4、然后开发小哥哥就可以参考一下占用内存最大的类是哪个方法,看是否是程序问题

同时,作为测试,我们也应该具备一些JVM调优的基本能力啦,说不定bug就可以迎刃而解了哦^_^

调优:

网上百度了很多tomcat6报Java heap space错解决办法,最后成功的是,在/bin/catalina.bat最上面加上一句:

set JAVA_OPTS=-Xms800m -Xmx1024m   -XX:MaxNewSize=256m

其中Xms不能设置的太大,一开始我们设置的4096m,tomcat连启都启不来,吓死了哈哈哈

以上,就是tomcat报OutofMemoryError:Java heap space错的解决方法,大家可以参考一下~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值