linux线程引起jvm崩溃,JVM宕机分析

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文件分析:

0da52d0b826d45108bd28c36.html

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

下图的线程状态分析。

0da52d0b826d45108bd28c36.html

引发javacore的线程以下所示:

0da52d0b826d45108bd28c36.html

该线程异常以下:

0da52d0b826d45108bd28c36.html

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

0da52d0b826d45108bd28c36.html

0da52d0b826d45108bd28c36.html

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ie9 Flash内容无法显示

Flash 插件(Shockwave Flash Object)启用: 在IE9页面右上角单击设置按钮,打开“管理加载项”。 查看一下 Shockwave Flash Object 的状态。如果被真被禁用了,将其选中,然后右击,选择“启用”。 ActiveX 筛选关闭&#…

02 检索数据

1.SELECT语句 从一个表或多个表中检索信息 2.检索单个列 输入: SELECT prod_name FROM Products; 输出: 没有过滤,也没有排序,输出数据顺序可能不同。 3.检索多个列 输入: SELECT prod_id, prod_name, prod_price F…

linux登录界面主题,Ubuntu 12.10登录界面主题:Butterfly

一款Ubuntu 12.10登录界面主题:Butterfly。A green MDM theme with faces for 4:3 aspect ratio screen resolutions such as 1024x768, 1280x960 or 1600x1200.Replace background.jpg with background_1280x1024.jpg for SXGA monitors.License RestoredThis MDM …

前端学习(2183):tabber--基本架构的构建

app.vue <template><div id"app"><div id"tab"><div class"tab-bar-item">首页</div><div class"tab-bar-item">分类</div><div class"tab-bar-item">购物车</div>…

拦截器 过滤器 监听器 的区别

面试的时候突然被问了这么个问题 本来知道点啥的 脑子一热 啥也没说出来总结一下 以下内容均摘自网络 但是 读完之后 应该会对它们有更清晰的认识。1.1 什么是拦截器&#xff1a; 拦截器&#xff0c;在AOP&#xff08;Aspect-Oriented Programming&#xff09;中用于在某…

我是服务的执政官-服务发现和注册工具consul简介

服务发现和注册 我们有了两个服务。服务A的IP地址是192.168.0.1&#xff0c;端口9001,服务B的IP地址192.168.0.2&#xff0c;端口9002。我们的客户端需要调用服务A和服务B&#xff0c;我们只需要在配置文件中写上服务A和服务B的IP地址即可。 此时&#xff0c;服务A的服务器负载…

什么linux系统是中文的,什么是Linux系统

Linux系统是一种类似Unix的开源和社区开发的操作系统&#xff0c;适用于计算机&#xff0c;服务器&#xff0c;大型机&#xff0c;移动设备和嵌入式设备&#xff0c;已成为最广泛支持的操作系统之一&#xff0c;接下来在文章中将为大家详细介绍什么是Linux【推荐课程&#xff1…

numpy将所有数据变为0和1_Numpy库学习

之前照着《利用python进行数据分析》学过一边&#xff0c;代码也跟着敲了&#xff0c;但是如果不用的话&#xff0c;印象不深&#xff0c;忘的特别快。所以&#xff0c;现在再过一遍&#xff0c;并且记录一下&#xff0c;加深印象。一、创建numpy中的多维数组对象ndarry的创建。…

win8.1 linux系统,电脑显示win8.1linux系统失效的原因及解决办法!

电脑蓝屏每次代码都不一样&#xff0c;有的是epoll或者workflow代码有的是错误码&#xff0c;会将错误进行查找&#xff0c;电脑蓝屏错误有些可以修复&#xff0c;也有错误修复不了的&#xff0c;出现蓝屏&#xff0c;最可能的原因是segmentationfault&#xff0c;出现的原因是…

数据丢失情况下应急之顶级数据恢复服务提供商列表

在当今的数字世界中&#xff0c;数据存储设备在我们的职业和个人生活中发挥着非常重要的作用。 无论是硬盘驱动器上的重要专业文档、USB 闪存驱动器上的医疗数据还是外部硬盘驱动器上的照片和视频&#xff0c;我们都将重要信息存储在一个或另一个数据存储设备上。我们认为数据…

jsencrypt加密同一值返回不同密文_密码学原语如何应用?解析密文同态性的妙用...

免责声明&#xff1a;本文旨在传递更多市场信息&#xff0c;不构成任何投资建议。文章仅代表作者观点&#xff0c;不代表火星财经官方立场。小编&#xff1a;记得关注哦来源&#xff1a;微众银行区块链隐私数据在密文形式下是否依旧可以加减乘除&#xff1f;其背后的同态性原理…

小红帽怎样装图形化界面_纯技术篇:U盘装系统,不再多花冤枉钱

U盘装系统&#xff0c;顾名思义就是用U盘安装电脑的操作系统。这里小编用现在最常见的大白菜装机软件来开始教程。1、使用大白菜装机版制作大白菜U盘启动盘之前&#xff0c;需要准备一个存储空间大于2G的U盘。2、下载并且安装好大白菜装机版&#xff0c;打开安装好的大白菜装机…

北斗三号b1c频点带宽_重磅北斗星通新一代22nm北斗高精度定位芯片正式发布

11月23日&#xff0c;第十一届中国卫星导航年会在四川省成都市盛大召开。年会首日&#xff0c;北斗星通旗下企业和芯星通正式发布了最新一代全系统全频厘米级高精度GNSS芯片——和芯星云NebulasⅣ。这颗芯片代表了国内卫星导航芯片的最高水平&#xff0c;在厘米级高精度定位领域…