栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

解决生产环境一次tomcat无故宕机的诡异问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决生产环境一次tomcat无故宕机的诡异问题

文章目录
  • 前言
  • 一、问题描述
  • 二、排查步骤
    • 1.先排查一下是不是代码的不规范导致JVM内存溢出
        • 1.先用jstat -gc 命令查看下内存使用情况
        • 2.使用jmap 查看下内存配置
          • 通过以上发现内存使用率也不高,YGC和FGC的频率也不是很高 所以断定不是JVM的OOM导致的。
        • 3.下载查看日志发现日志断片了!!!!!!!!
  • 三、解决问题
        • 这是我偶然跟一个技术牛人提起这个事情的时候得到的提示,他说会不会是Linux物理内存不足?这给了我提示
        • 1.free 查看一下物理机内存剩余情况
          • 发现空闲的内存只有163M了!!!!!!!基本排除了代码问题和JVM的问题,只能从Linux服务器上找原因吧
        • Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。内核检测到系统内存不足、挑选并杀掉某个进程
        • 执行命令journalctl -xb | egrep -i 'killed process'
        • 执行命令dmesg | egrep -i -B100 'killed process'
  • 找到原因哈哈!!

@[TOC] 解决生产环境一次tomcat无故宕机的诡异问题


前言

提示:这里可以添加本文要记录的大概内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、问题描述

示例:项目已经上线运行了两年多了一直很稳定,近期突然每下午天五点左右或者晚上三点左右tomcat没有任何征兆的情况下就崩溃了,太TMD诡异了,连续好几天都找不到原因。

二、排查步骤 1.先排查一下是不是代码的不规范导致JVM内存溢出
1.先用jstat -gc 命令查看下内存使用情况

2.使用jmap 查看下内存配置


通过以上发现内存使用率也不高,YGC和FGC的频率也不是很高 所以断定不是JVM的OOM导致的。 3.下载查看日志发现日志断片了!!!!!!!!

三、解决问题 这是我偶然跟一个技术牛人提起这个事情的时候得到的提示,他说会不会是Linux物理内存不足?这给了我提示 1.free 查看一下物理机内存剩余情况

发现空闲的内存只有163M了!!!!!!!基本排除了代码问题和JVM的问题,只能从Linux服务器上找原因吧 Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。内核检测到系统内存不足、挑选并杀掉某个进程 执行命令journalctl -xb | egrep -i ‘killed process’

执行命令dmesg | egrep -i -B100 ‘killed process’

找到原因哈哈!!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/606528.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号