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

来源:互联网 发布:淘宝店铺设置自动回复 编辑:程序博客网 时间:2024/06/05 19:02

前提

本地测试没毛病

生产

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

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


原因分析

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

我这里为

Dec  7 21:02:45 iZrj97s23bov6rewm9af7aZ kernel: Out of memory: Kill process 22692 (java) score 230 or sacrifice childDec  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 莫名被杀掉的问题

基础才是重中之重~多线程的代价~我的内存都被吃了!
内存不足:杀死进程还是牺牲子进程
tomcat“闪退” 进程终止排查-进程退出、解决方案



原创粉丝点击