oom 和 jvm crash的问题
很多次生产环境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的问题的更多相关文章
- 性能调优案例分享:jvm crash的原因 1
性能调优案例分享:jvm crash的原因 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...
- JVM crash at ForUtil.readBlock
今天同学让帮忙看下JVM错误日志,才发现已经开始接触java3个月,还没看到相关错误日志.平时看的都只是程序运行时写入的日志,关于JVM的错误日志还真没看过.网上收集资料,整理如下. 一.日志文件: ...
- OOM和JVM配置优化
OOM这个缩写就是Java程序开发过程中让人最头痛的问题:Out of Memory.在很多开发人员的开发过程中,或多或少的都会遇到这类问题,这类问题定位比较困难,往往需要根据经验来判断可能出现问题的 ...
- jvm crash分析
问题描述:线上进程异常退出,查看服务器端日志,有jvm crash文件生成 # # A fatal error has been detected by the Java Runtime Enviro ...
- 性能调优案例分享:jvm crash的原因 2
3.core dump分析 有了core dump文件,接下来要做的就是通过命令去解析此文件,定位具体问题了,主要有以下三个命令: (1)先执行gdb $JAVA_HOME$/bin/java cor ...
- (转) JVM Crash with SIGSEGV - problematic frame - libzip.so
原文:https://stackoverflow.com/questions/38057362/jvm-crash-with-sigsegv-problematic-frame-libzip-so h ...
- title: "MappedByteBuffer引起的jvm crash问题“

- mina-http之坑
TCP是流式协议,不保证一次通信传输完整的包,当这种情况发生在mina-http时会产生严重的bug,图中红框部分只是将前后收到的数据拼在一起,但下面处理的还是最近收到的不完整的msg:此为大坑! 轻 ...
- JVM OOM异常会导致JVM退出吗?
出处: https://mp.weixin.qq.com/s/8j8YTcr2qhVActLGzOqe7Q https://blog.csdn.net/h2604396739/article/de ...
随机推荐
- 在写移动端时,a标签或者input标签等 在手机上点击背后会有阴影的解决办法
a,input{-webkit-tap-highlight-color:rgba(255,0,0,0);} 被背景设置成透明的就行了
- Mybatis异常:java.lang.NumberFormatException: For input string: "S"
MyBatis异常日志如下: Caused by: java.lang.NumberFormatException: For input string: "S" at sun.mi ...
- rbg的代码
不得不赞rbg的代码,写的是真的好,各种异常都考虑到了,至少常见的异常没有了. 还有selective search的代码,也是很赞. 而edgebox的代码则不行啊,demo写的太死,而且代码里只能 ...
- computed--实时计算属性
项目:https://github.com/ccyinghua/vue-node-mongodb-project/blob/master/07-shoppingCart.md 实时计算属性的compu ...
- OCCI线程安全
线程是任务调度的基本单位,一个进程中可以有多个线程,每个线程有自己的堆栈空间, 进程中的代码段.数据段和堆栈对进程中的线程是可见的.在使用线程时通常都要考虑数据的安全访问. 常用的线程同步方法有: 互 ...
- 判断StringBuilder 是否为空
if("".equals(stringbuilder.toString())) do..
- scrapy--selenium
一直在学习scrapy的爬虫知识,但是遇到了动态加载页面的难题,从一开始的javascript渲染器--splash,docker服务, 遇到各种奇葩的问题: 1.docker代理设置添加无效,导致无 ...
- TCP/IP协议之http和https协议
一.TCP/IP协议 TCP/IP 是不同的通信协议的大集合. 1.TCP - 传输控制协议 TCP 用于从应用程序到网络的数据传输控制. TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们 ...
- python-13常用内建模块
1-datetime #1-获取当前日期和时间 from datetime import datetime now = datetime.now() #当前时间 print(now) #2015-05 ...
- Oozie 实战之 Hive
1.编辑job.propertiers nameNode=hdfs://cen-ubuntu.cenzhongman.com:8020 jobTracker=localhost:8032 queueN ...