文章目录

  • 前言
  • 一、问题描述
  • 二、排查步骤
    • 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’

找到原因哈哈!!

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

  1. tomcat无故宕机 哪位大神给看看

    @tomcat无故宕机 A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x0 ...

  2. 使用Windbg找出死锁,解决生产环境中运行的软件不响应请求的问题

    使用Windbg找出死锁,解决生产环境中运行的软件不响应请求的问题 参考文章: (1)使用Windbg找出死锁,解决生产环境中运行的软件不响应请求的问题 (2)https://www.cnblogs. ...

  3. Vue Nginx反向代理配置 解决生产环境跨域

    Vue本地代理举例: module.exports = {publicPath: './',devServer: {proxy: {'/api': {target: 'https://movie.do ...

  4. 生产环境部署java+tomcat+mysql的一些体会

    title: 生产环境部署java+tomcat+mysql的一些体会 java的安装 链接 提取码:y8w0 具体安装可查看别人写的博客,整个流程大概是以下: 下载 jre-8u202-linux- ...

  5. 【致远FAQ】致远OA宕机之Tomcat异常宕机

    问题描述 tomcat进程已经不在: 由于在启动命令行参数中增加了相关的日志监控,重点查找JVM内存溢出.jvm的crash的日志进行问题定位: 没有.hprof文件生成[基本可以推论没有出现JVM内 ...

  6. php监测tomcat,java_JAVA实现监测tomcat是否宕机及控制重启的方法,本文实例讲述了JAVA实现监测tom - phpStudy...

    JAVA实现监测tomcat是否宕机及控制重启的方法 本文实例讲述了JAVA实现监测tomcat是否宕机及控制重启的方法.分享给大家供大家参考.具体如下: Detector.java: import ...

  7. java 宕机监控_JAVA实现监测tomcat是否宕机及控制重启的方法

    本文实例讲述了JAVA实现监测tomcat是否宕机及控制重启的方法.分享给大家供大家参考.具体如下: Detector.java: import java.net.URL; import java.n ...

  8. 你知道怎么在生产环境下部署tomcat吗?

    享学课堂特邀作者:老顾 转载请声明出处! 一.前言 小伙伴们在网上看到的很多文章,都是对tomcat的一些介绍,什么配置啊,怎么启动.其实在生产环境中怎么部署,和网上介绍的有很大区别.这篇文章老顾就带 ...

  9. Vue代理解决生产环境跨域问题

    当我们前端要调用跨域接口时,我们需要用代理解决跨域问题,比如Vue的代理配置proxy,但是当Vue项目打包成静态文件时,他的代理也就失灵了,因为代理的前提是本地必须有service,本章讲一下生产环 ...

最新文章

  1. 南大电子机器人入驻云南_云南大学外语协会 英文歌曲演唱比赛
  2. 大数据及Linux安装
  3. python简易图形-python图形用户界面(四):教你实现一个简单实用的计时器
  4. C语言计算月份天数if,阅读下列说明,回答问题1至问题3。【说明】 以下代码由C语言书写,能根据指定的年、月计算当月所含天数 - 赏学吧...
  5. 华为v9计算机在哪方面的应用,华为荣耀V9和华为Mate9区别在哪 哪款更好?
  6. 数组转List的3种方法和使用对比!
  7. 简单事务:.NET Core应用程序的微服务示例体系结构
  8. Https之SSL原理
  9. Win10打开或关闭任务栏系统图标
  10. 用Ps按比例缩小图片整体的尺寸
  11. PPT幻灯片母版在制作时的应用
  12. Vj程序设计作业H5
  13. 分式的二阶导数怎么求_分式复合函数求导公式大全
  14. 团队管理19--团队分工
  15. word2019使一级标题为第一章,二级标题为1.1的格式
  16. Tesseract-OCR 4.0LSTM训练流程 (Windows环境下)
  17. Windows留后门--教程(一)——Windows系统隐藏账户
  18. 一个假冒的序列号被用来注册Internet Download Manager。IDM正在退出...解决办法
  19. 对window的注册表进行优化
  20. Linux系统关闭防火墙~

热门文章

  1. 深圳IB学校哪家强?入学标准如何?
  2. TensorRT安装及验证
  3. 对海康28181摄像头PS流解码的支持(一)
  4. 关于.DS_Store文件
  5. threeJs画正方体
  6. 定义一个类Box,类中有三个整型,表示长,宽,高,定义setInfo(int,int,int)方法,设置三个变量的值。定义volum()方法计算体积//定义area()方法计算表面积。定义to
  7. tomcat页面显示404
  8. root华为u8860
  9. 绿坝对IT行业的沉重打击,从此只能运行Windows操作系统了
  10. computed 的get 和set