tomcat宕机解决方法

最近项目出现tomcat宕机的情况,即项目运行一段时间后tomcat就会停止运行,解决方法步骤如下:

首先进入linux服务器,使用命令top进行查看,发现tomcat的cpu利用率很高,超过100%

接着,使用命令ps -ef|grep tomcat,查找到对应的pid

接着使用jmap -heap pid.发现PermGen 的利用率达到了99.99%,所以初步确定了问题是出在永久带内存空间太小。

解决方法,在tomcat的启动文件(catalina.sh)中添加如下参数,加大永久带的内存

-XX:PermSize=256M  -XX:MaxPermSize=512M


这样情况得到了缓解,但运行一段时间以后,又出现了宕机问题,检查后发现又是永久带满了,这次使用

jmap -permstat pid查看,发现有许多delegatingClassLoader没有被回收,这是由于项目使用了很多的反射导致的,而该classloader的作用是提高反射的效率。

解决方法,干脆不使用该classloader,最终完整的解决方法如下



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值