tomcat启动时报swap空间用尽问题解决

本文介绍了一次解决Linux服务器上Tomcat频繁重启且无法正常启动的问题经历。同事在重启过程中遇到Tomcat进程未完全关闭即尝试启动的情况,导致大量重复进程消耗完系统内存资源。通过查找并终止多余进程,释放内存,最终成功重启Tomcat。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下午,同事在linux应用服务器重启tomcat的时候,一直启动不起来,后来用free命令查看系统资源的时候发现swap的free资源是0,(下图是问题处理之后的情况)


于是就想着查看下到底是哪些进程在占用资源,用如下命令进行查看
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
结果发现:占用内存资源最多的几个进程全部是tomcat的进程,于是用命令kill -9 进程号,把所有tomcat的进程全部干掉,swap资源释放,重启tomcat之后系统正常。

经过原因分析发现,应该是同事在执行新tomcat关闭脚本sh shutdown.sh命令的时候tomcat没有关闭成功,结果他又执行了sh startup.sh命令去重启tomcat,发现没有启动成功,他又执行了几次,结果导致tomcat启了很多进程,最终将内存资源耗尽。为了避免这个问题,要求项目组在启动tomca的时候一定要确定tomcat进程关闭之后,才能去启动tomcat。我们的步骤如下:

1、先执行 #sh shutdown.sh 命令
2、#ps -ef|grep java  查看tomcat进程是否存在
3、如果存在,则执行#kill -9 进程号,对tomcat进程强制杀掉 
4、执行 #sh startup.sh 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值