前提

本地测试没毛病

生产

调用一个吃内存的方法后,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 莫名被杀掉的问题




GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:8 天前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐