linux下内存不足导致tomcat自动关闭原因分析

本文记录了一次生产环境中Tomcat因内存不足导致崩溃的问题排查过程。通过分析/var/log/messages日志文件,发现Tomcat进程被系统多次因内存不足而终止。文章详细描述了Lucene分词建索引方法对内存的消耗,并给出了定位问题的关键步骤。

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

前提

本地测试没毛病

生产

调用一个吃内存的方法后,tomcat崩溃

catalina日志文件没有任何日志信息


原因分析

打开/var/log/messages文件 这个为linux系统日志文件

我这里为

Dec  7 21:02:45 iZrj97s23bov6rewm9af7aZ kernel: Out of memory: Kill process 22692 (java) score 230 or sacrifice child
Dec  7 21:02:45 iZrj97s23bov6rewm9af7aZ kernel: Killed process 22692 (java) total-vm:2676800kB, anon-rss:445468kB, file-rss:0kB, shmem-rss:0kB
内存溢出

这个问题我昨天困扰了我一天

这个out if memory在我这里一共显示24次  说明我测试了24次

开发环境12G内存

生产环境2G内存

调用的吃内存的方法是 lucene分词建索引 这个方法启动要占好几百M内存


能找到/var/log/messages这个文件基本上问题就解决一半了 关键没人会知道问题竟然是内存不够


参考:

请教跑在阿里云服务器上的 tomcat 莫名被杀掉的问题




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值