很多次生产环境jvm进程无故消失的时候都留下了hs_err[pid].log文件  然后通过mat分析大多数情况是oom导致的  所以以前一直认为OOM一定会导致jvm crash  也就是说java进程直接退出

最近想了解下hs_err的错误日志,然后就自己写了段oom的代码,如下:

Map<Integer, Builder> testMap = new HashMap<Integer, Builder>();
while(true){
//a builder object has 50M bytes
testMap.put(i, new Builder());
i++;
}

设置jvm参数 -Xms 256M -Xmx 256M,运行之后确实出现了OOM 但是到处找hs_err的log文件 怎么也找不到 于是怀疑jvm参数配置有问题。了解后发现关于hs_err的参数,只需要通过-XX:ErrorFile来自定义路径即可,如果没有该配置也不会影响日志的生成,所以没生成日志不是jvm配置的问题,也就是说,jvm没有直接crash。

给上段代码套上try catch 来捕获OutOfMemoryError  发现只是抛出了一个异常,下边的代码还是可以跑的。所以,此次OOM并没有导致jvm crash  而是抛出了oom之后没有catch,jvm退出了,所以没有留下hs_err日志

oom 和 jvm crash的问题的更多相关文章

  1. 性能调优案例分享:jvm crash的原因 1

    性能调优案例分享:jvm crash的原因   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...

  2. JVM crash at ForUtil.readBlock

    今天同学让帮忙看下JVM错误日志,才发现已经开始接触java3个月,还没看到相关错误日志.平时看的都只是程序运行时写入的日志,关于JVM的错误日志还真没看过.网上收集资料,整理如下. 一.日志文件: ...

  3. OOM和JVM配置优化

    OOM这个缩写就是Java程序开发过程中让人最头痛的问题:Out of Memory.在很多开发人员的开发过程中,或多或少的都会遇到这类问题,这类问题定位比较困难,往往需要根据经验来判断可能出现问题的 ...

  4. jvm crash分析

    问题描述:线上进程异常退出,查看服务器端日志,有jvm crash文件生成 # # A fatal error has been detected by the Java Runtime Enviro ...

  5. 性能调优案例分享:jvm crash的原因 2

    3.core dump分析 有了core dump文件,接下来要做的就是通过命令去解析此文件,定位具体问题了,主要有以下三个命令: (1)先执行gdb $JAVA_HOME$/bin/java cor ...

  6. (转) JVM Crash with SIGSEGV - problematic frame - libzip.so

    原文:https://stackoverflow.com/questions/38057362/jvm-crash-with-sigsegv-problematic-frame-libzip-so h ...

  7. title: "MappedByteBuffer引起的jvm crash问题“

  8. mina-http之坑

    TCP是流式协议,不保证一次通信传输完整的包,当这种情况发生在mina-http时会产生严重的bug,图中红框部分只是将前后收到的数据拼在一起,但下面处理的还是最近收到的不完整的msg:此为大坑! 轻 ...

  9. JVM OOM异常会导致JVM退出吗?

    出处:  https://mp.weixin.qq.com/s/8j8YTcr2qhVActLGzOqe7Q  https://blog.csdn.net/h2604396739/article/de ...

随机推荐

  1. 在写移动端时,a标签或者input标签等 在手机上点击背后会有阴影的解决办法

    a,input{-webkit-tap-highlight-color:rgba(255,0,0,0);} 被背景设置成透明的就行了

  2. Mybatis异常:java.lang.NumberFormatException: For input string: "S"

    MyBatis异常日志如下: Caused by: java.lang.NumberFormatException: For input string: "S" at sun.mi ...

  3. rbg的代码

    不得不赞rbg的代码,写的是真的好,各种异常都考虑到了,至少常见的异常没有了. 还有selective search的代码,也是很赞. 而edgebox的代码则不行啊,demo写的太死,而且代码里只能 ...

  4. computed--实时计算属性

    项目:https://github.com/ccyinghua/vue-node-mongodb-project/blob/master/07-shoppingCart.md 实时计算属性的compu ...

  5. OCCI线程安全

    线程是任务调度的基本单位,一个进程中可以有多个线程,每个线程有自己的堆栈空间, 进程中的代码段.数据段和堆栈对进程中的线程是可见的.在使用线程时通常都要考虑数据的安全访问. 常用的线程同步方法有: 互 ...

  6. 判断StringBuilder 是否为空

    if("".equals(stringbuilder.toString())) do..

  7. scrapy--selenium

    一直在学习scrapy的爬虫知识,但是遇到了动态加载页面的难题,从一开始的javascript渲染器--splash,docker服务, 遇到各种奇葩的问题: 1.docker代理设置添加无效,导致无 ...

  8. TCP/IP协议之http和https协议

    一.TCP/IP协议 TCP/IP 是不同的通信协议的大集合. 1.TCP - 传输控制协议 TCP 用于从应用程序到网络的数据传输控制. TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们 ...

  9. python-13常用内建模块

    1-datetime #1-获取当前日期和时间 from datetime import datetime now = datetime.now() #当前时间 print(now) #2015-05 ...

  10. Oozie 实战之 Hive

    1.编辑job.propertiers nameNode=hdfs://cen-ubuntu.cenzhongman.com:8020 jobTracker=localhost:8032 queueN ...