服务器上tomcat进程突然终止问题排查

1)检查是否shell进程终止导致tomcat终止(排除)

由于使用./catalina.sh start启动tomcat,启动后tomcat的父PID为1,因此不会由于shell断开而终止

2)tomcat进程是否被kill掉(排除)

查询tomcat的catalina.out日志,未发现有终止的日志,比如

INFO [Thread-6] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
INFO [Thread-6] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]

3)检查是否被操作系统kill掉

检查/var/log/messages日志,发现如下日志,并且发现跟tomcat终止的时间符合

kernel: Out of memory: Kill process 7100 (java) score 302 or sacrifice child
 kernel: Killed process 7100, UID 502, (java) total-vm:2218428kB, anon-rss:307464kB, file-rss:180kB

Linux有一个特性:OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,不过这种保护是有限的,不能完全的保护进程的运行。

由于运行tomcat的是个人的服务器,配置较低,因此出现内存不足的情况。

解决方案:不建议修改系统的设置,建议给系统添加更多的内存已支持业务

服务器上tomcat进程突然终止问题排查 - OOM Killer相关推荐

  1. java获取服务器状态_获取远程服务器上 Java 进程的运行状态

    为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态. 启动 jstatd 服务 在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获 ...

  2. java 判断进程状态_获取远程服务器上 Java 进程的运行状态

    为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态. 启动 jstatd 服务 在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获 ...

  3. 【ubuntu】查看服务器上的进程占用GPU情况

    [ubuntu]查看服务器上的进程占用GPU情况 参考<shell脚本显示GPU进程所属docker 容器> 该博客是读取nvidia-smi信息后处理为奇数行为进程ID,偶数行为显存占用 ...

  4. 线上tomcat进程莫名其妙被杀死,问题排查

    公司的服务莫名其妙的挂了,刚开始还以为是服务器被谁攻击了,启动没多久又挂掉,查了一下,发现是系统内存太满,自动把tomcat进程给杀死的! 都是常见的 Out of memory 问题.这通常是因为某 ...

  5. 服务器上tomcat修改内存,8g服务器tomcat内存设置

    8g服务器tomcat内存设置 内容精选 换一换 系统每30秒周期性检测HBase服务堆内存使用状态,当检测到HBase服务堆内存使用率超出阈值(最大内存的90%)时产生该告警.若集群启用了多实例功能 ...

  6. Tomcat进程假死问题排查

    目录 1.网络 1.1 检查nginx的网络情况 1.2 检查tomcat的网络情况 2.Jvm内存溢出 2.1为什么会发生内存泄漏 2.2快速定位问题 2.3 jstack查看tomcat是否出现死 ...

  7. 浏览器访问linux服务器上tomcat中的pdf文件时报404,无法访问的问题

    问题描述 项目需求中有一个功能模块,需要在浏览器中浏览pdf文件,客户现场情况是这些pdf文件在客户的服务器上的tomcat中,我们前端用<iframe>标签来实现,但是当我们给标签的sr ...

  8. Windows/Linux服务器上Tomcat开启远程调试,使用IDEA本地调试

    注意:要保证本地的代码与服务器上部署的代码完全一致

  9. linux进程莫名其妙被kill,Linux进程突然被杀掉(OOM killer),查看系统日志

    Linux进程被杀掉(OOM killer),查看系统日志 基本概念: Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是 ...

最新文章

  1. 为什么我们需要一门新语言——Go语言
  2. HTML5学习笔记简明版(3):新元素之hgroup,header,footer,address,nav
  3. VTK:隐式二次元用法实战
  4. 解题报告 树形图计数
  5. jboss4 迁移_应用程序服务器迁移:从JBoss EE5到Wildfly EE7
  6. 想轻松入门Python编程,必须看这10个经典案例,学完就能找到工作
  7. [P4063][JXOI2017]数列(DP)
  8. 学校计算机协会招新策划案,本部 | 计算机协会招新中
  9. pcb钻孔披锋改善报告_【热点】大族激光:大客户下单积极,公司PCB业务有望延续增势...
  10. 台风怎么看内存颗粒_一文全懂!内存条超频、稳定怎么看?——从入门到精通...
  11. 电子烟行业的十大进销存软件app,强推第一个
  12. 记录一个错误Failure to find org.eclipse.m2e:lifecycle-mapping:pom:1.0.0的解决过程
  13. 台式计算机虚拟内存怎么设置,电脑虚拟内存怎么设置最好 电脑虚拟内存不足怎么解决...
  14. excel提取单元格内特定字符(字/词)前(后)的内容
  15. 【征集+投票】微信投票小程序,公众号投票,免费创建投票打分平台,免费微信投票平台、微信投票小程序、微信群投票
  16. 2020delphi还有人用吗?delphi过时了吗?为什么还有那么多程序员坚持继续选择DELPHI作为软件开发工具
  17. 结合继承的思想,定义项目经理类Manager及程序员类Coder【行为:工作work】
  18. Matlab | 画出高中数学卷子上的几何题图
  19. SVN启用注释模板实现方案
  20. 使用工具【ZipCenOp.jar】自动修复zip伪加密文件

热门文章

  1. 【Ansys Maxwell 2D】电磁场有限元仿真新手教程 [EE 2022/7/11学习笔记]
  2. Python自动化开发-Day4
  3. 4月,不要跳槽...
  4. python 追加写入excel的多个sheet
  5. 耳机中的滋滋声就是电路干扰噪声
  6. C之(6)强弱符号引用
  7. 秒懂Java之方法引用(method reference)详解
  8. K8s Docker 相关操作指令
  9. HTTP的长连接与短连接
  10. 计算机毕业设计SpringBoot选题推荐—校园在线拍卖系统