1、可以引发JVM崩溃的常见缘由有:linux

线程阻塞数据库

CPU 使用率太高服务器

JVM Crash工具

堆内存不足google

类装载spa

Java虚拟机自身的Bug操作系统

JDK与服务器(CPU、内存、操做系统)的兼容性.net

内存溢出插件

2、日志文件

hs_err_pid.log,致命错误出现的时候,JVM生成了hs_err_pid.log这样的文件,其中包含了虚拟机崩溃缘由的重要信息:

触发致命错误的操做异常或者信号;

版本和配置信息;

触发致命异常的线程详细信息和线程栈;

当前运行的线程列表和它们的状态;

堆的总括信息;

加载的本地库;

命令行参数;

环境变量;

操做系统CPU的详细信息。

JavaCore及HeapDump文件,Java程序运行时,有时会产生JavaCore及HeapDump文件,它通常发生于Java程序遇到致命问题的状况下。有时致命问题发生后,Jvm不会死掉,还能继续运行,但致命问题发生,Jvm进程会死掉,为了可以保留Java应用发生致命错误前的运行状态,JVM在宕掉前产生两个文件,分别为JavaCore及HeapDump文件。

JavaCore文件主要保存的是Java应用各线程在某一时刻的运行的位置,即JVM执行到哪个类、哪个方法、哪个行上。它是一个文本文件,打开后能够看到每个线程的执行栈,以stack trace的显示。经过对JavaCore文件的分析能够获得应用是否“卡”在某一点上,即在某一点运行的时间太长,例如数据库查询,长期得不到响应,最终致使系统崩溃等状况。

HeapDump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用状况,这种文件须要相应的工具进行分析。这类文件最重要的做用就是分析系统中是否存在内存溢出的状况。

3、宕机分析

宕机的时候一定会产JavaCore及HeapDump文件,若是未宕机时,想查看Jvm中线程与内存状况,那么在linux下可经过kill -3 进程号来手工产生这两个文件来进行分析。

MAT

Eclipse Memory Analyzer是一个很是好用的分析工具,咱们能够利用它的Eclipse 插件轻松实现查看对象树、对象大小、生成报告,甚至自动化分析可能出现泄露的对象, 和其余插件的安装很是相似,MAT 支持两种安装方式,一种是“单机版“的,也就是说用户没必要安装 Eclipse IDE 环境,MAT 做为一个独立的 Eclipse RCP 应用运行;另外一种是”集成版“的,也就是说 MAT 也能够做为 Eclipse IDE 的一部分,和现有的开发平台集成。

JavaCore文件的头部有一个“Current Thread Details”标记,它记录了JavaCore产生时系统运行的线程id,使用线程id在文件中查找线程的详细信息,该信息中记载了线程运行哪一个类的时候形成的JavaCore。

HeapDump文件是指定时刻的Java堆栈的快照,是一种镜像文件。MAT工具经过分析HeapDump文件,哪些对象占用了太多的堆栈空间,来发现致使内存泄露或者可能引发内存泄露的对象。

示例:

javacore文件分析:

由上图可见,引发javacore的缘由是由于内存溢出,但其进程中的线程并未出现明细的异常,见

下图的线程状态分析。

引发javacore的线程以下所示:

该线程异常以下:

因而可知,由于内存不足致使了内存溢出,程序不存在异常,那么接下来经过分析dump来查看内存状况,见下图:

经过上述的dump文件的分析,咱们获得内存的可能泄露点有两个,都是占用了比较大的内存,经过分析内存泄露点来找到解决办法。

linux线程引起jvm崩溃,JVM宕机分析相关推荐

  1. Linux系统异常夯死或宕机分析

    一.问题描述 某次某云主机访问异常,登录云主机后来发现vnc界面夯死,输入命令无反应,console界面发送重启指令也无反应,只能云平台管理页面强制重启. 二.问题分析: 1>重启后查看sysl ...

  2. linux服务器宕机分析/性能瓶颈分析

    linux服务器宕机分析/性能瓶颈分析 服务器宕机原因很多,资源不足.应用.硬件.系统内核bug等,以下一个小例子 服务器宕机了,首先得知道服务器宕机的时间点,然后分析日志查找原因 1.last re ...

  3. oracle rodm包,由重启引起的Oracle RAC节点宕机分析及追根溯源

    作者介绍 裴征峰,现就职于北京海天起点,二线专家成员,南京办事处负责人,OCP 10g.OCP 11g.OCM11g.超八年Oracle服务经验,擅长数据库故障诊断和性能调优.目前主要从事客户的现场维 ...

  4. oracle 监听 宕机,由重启引起的Oracle RAC节点宕机分析及追根溯源

    作者介绍 裴征峰,现就职于北京海天起点,二线专家成员,南京办事处负责人,OCP 10g.OCP 11g.OCM11g.超八年Oracle服务经验,擅长数据库故障诊断和性能调优.目前主要从事客户的现场维 ...

  5. oracle19c集群重启,由重启引起的Oracle RAC节点宕机分析及追根溯源

    原标题:由重启引起的Oracle RAC节点宕机分析及追根溯源 作者介绍 裴征峰,现就职于北京海天起点,二线专家成员,南京办事处负责人,OCP 10g.OCP 11g.OCM11g.超八年Oracle ...

  6. oracle rac 宕机频繁,Oracle rac宕机分析故障处理

    oracle rac故障分析 Oracle rac宕机分析故障处理 某客户rac数据库2号节点实例自动宕节点,以下为分析报告 一.现象回顾: 2号节点发生故障时,alert日志显示如下: Thread ...

  7. mysql宕机日志查询_mysql宕机分析(事务日志损坏)

    mysql宕机分析(事务日志损坏) 一.情景概述. 1.服务器配置 a)  1CPU 8核 b)  16G内存 c)  2T 硬盘 2. Mysql 在一个普通硬盘中长时间处于大量写的状态(长时间大概 ...

  8. oracle双机切换 无法挂载,Linux下Oracle RAC一个节点宕机导致共享存储无法挂载的故障排除...

    环境:两台HP ML570 Linux AS4.5 Oracle 10g两台Server做了Oracle的RAC,通过SAN Switch连接到HP MSA1000故障现象:因为其中一个Ora 环境: ...

  9. 系统宕机分析与解决方案

    系统上完线后不久,就宕机了,很是郁闷,对系统宕机这块没有相关解决方案,就将此问题修复的方案记录,一边自己以后查阅,也希望可以帮助遇到此问题的友友. 服务器内存过小(以windows64为例) 一般首先 ...

最新文章

  1. 影像组学视频学习笔记(34)-使用3D Slicer软件提取影像组学特征、Li‘s have a solution and plan.
  2. pandas实现众数和众数的频数
  3. 阿里面试 Java 都问什么?万字总结!
  4. MPU6050开发 -- 卡尔曼滤波
  5. LeetCode 702. 搜索长度未知的有序数组(二分查找)
  6. YOLO v3 安装并训练自己数据
  7. 并发编程-Atomic的compareAndSet
  8. unity C# 常用算法 和 算法复杂度
  9. R语言空间插值/R语言离散数据网格化/R语言空间点插值/R语言nc日均转月均、日期转换
  10. does not have a companion object, and thus must be initialized here
  11. 爬取京东商城中的书籍信息
  12. 爬虫学习笔记(十八)—— 点触验证码:超级鹰、12306自动登录
  13. python分析红楼梦中人物形象_红楼梦人物形象分析+赏析_作文
  14. 【笔记】为什么现代人变得越来越娱乐至死
  15. 【AWK】awk 基础用法和应用
  16. 实习生招聘--CVTE笔试【1】
  17. Ubuntu20.04安装Cuckoo
  18. 2022-2028全球与中国移动网络电话(mVOIP)市场现状及未来发展趋势
  19. outlook 2003 使用技巧
  20. 全景项目软件 krpano 入门通

热门文章

  1. 前端学习(2321):angular环境搭建1
  2. 前端学习(1949)vue之电商管理系统电商系统之实现分页
  3. 前端学习(625):数据类型导读
  4. java学习(152):字节缓冲输出流
  5. java学习(24):if..else...if
  6. android image设置adjustviewbounds_探索 Android 平台的 CameraX
  7. vueinput里只能输入数字_大佬们,vue里面 限制input只能输入数字怎么做啊?
  8. c++中计算2得n次方_《一元二次方程》单元试卷,从中总结出5个考点,初三学生应知道...
  9. Centos中查找文件、目录、内容
  10. 用户账号系统(python)