java 服务异常崩溃 JVM报错:Failed to write core dump. Core dumps have been disabled.

在Linux环境下解决JVM崩溃报错:Failed to write core dump. Core dumps have been disabled. To enable core dumping, 一、环境 操作系统:Ubunto 18.04 x64 Java版本:JDK1.8 二、错误信息 出现此错误时,系统会生成名为“hs_err_pidxxxx.log”的日志文件,打开日志文件,会看到类似如下的错误: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fe8b51c11b1, pid=6840, tid=0x00007fe89f0ce 阅读详情
AI摘要

本文详细记录了一次 Java 运行时出现的 SIGSEGV 错误,通过分析错误日志,指出核心转储被禁用的问题,并提供了 ulimit 命令来尝试解决此问题。然而,核心转储设置并非根本解决方案,文章进一步探讨了 Linux 服务器上的文件句柄限制和最大进程数配置不足才是问题所在,建议调整 /etc/security/limits.conf 中的参数。

目录

1 问题点

2 分析问题

3 解决问题


Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

1 问题点

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f9577264930, pid=1415, tid=0x00007f957511b700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libjson.so+0x11930]  Json::Value::swap(Json::Value&)+0x0
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x00007f9568068800):  JavaThread "nioEventLoopGroup-3-3" [_thread_in_native, id=1448, stack(0x00007f957501b000,0x00007f957511c000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000008

Registers:
RAX=0x00007f956400f520, RBX=0x0000000000000000, RCX=0x0000000000000000, RDX=0x0000000000003074
RSP=0x00007f9575118df8, RBP=0x00007f9558419780, RSI=0x00007f9575118e00, RDI=0x0000000000000000
R8 =0x0000000000000000, R9 =0x0000000000000003, R10=0x0000000000000002, R11=0x00007f95dcdfb6d0
R12=0x00007f9575118e60, R13=0x00007f9599ad63e0, R14=0x0000000000000000, R15=0x00007f9575118f60
RIP=0x00007f9577264930, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
  TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007f9575118df8)
0x00007f9575118fb8:   00007f9564017070 00007f9558410eb0
0x00007f9575118fc8:   00007f95772611f4 00007f9558419708
0x00007f9575118fd8:   00007f95582f5134 00007f95584196e0
0x00007f9575118fe8:   00007f9577484540 fffffffffffffff0 

Instructions: (pc=0x00007f9577264930)
0x00007f9577264910:   48 8b 17 48 8b 06 48 89 07 8b 46 08 48 89 16 8b
0x00007f9577264920:   57 08 89 47 08 89 56 08 c3 90 66 0f 1f 44 00 00
0x00007f9577264930:   0f b6 57 08 0f b6 46 08 88 47 08 88 56 08 48 8b
0x00007f9577264940:   06 48 8b 17 48 89 07 48 89 16 0f b6 57 09 0f b6 

Register to memory mapping:

RAX=0x00007f956400f520 is an unknown value
RBX=0x0000000000000000 is an unknown value
RCX=0x0000000000000000 is an unknown value
RDX=0x0000000000003074 is an unknown value
RSP=0x00007f9575118df8 is pointing into the stack for thread: 0x00007f9568068800
RBP=0x00007f9558419780 is an unknown value
RSI=0x00007f9575118e00 is pointing into the stack for thread: 0x00007f9568068800
RDI=0x0000000000000000 is an unknown value
R8 =0x0000000000000000 is an unknown value
R9 =0x0000000000000003 is an unknown value
R10=0x0000000000000002 is an unknown value
R11=0x00007f95dcdfb6d0: <offset 0x1846d0> in /lib64/libc.so.6 at 0x00007f95dcc77000
R12=0x00007f9575118e60 is pointing into the stack for thread: 0x00007f9568068800
R13=0x00007f9599ad63e0: _ZNSs4_Rep20_S_empty_rep_storageE+0 in /lib64/libstdc++.so.6 at 0x00007f95997cf000
R14=0x0000000000000000 is an unknown value
R15=0x00007f9575118f60 is pointing into the stack for thread: 0x00007f9568068800


Stack: [0x00007f957501b000,0x00007f957511c000],  sp=0x00007f9575118df8,  free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libjson.so+0x11930]  Json::Value::swap(Json::Value&)+0x0

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 1453  com.macli.maCliApi.maCli_GetValueN(J[I[B)I (0 bytes) @ 0x00007f95c54d7620 [0x00007f95c54d75c0+0x60]
j  com.zt.ecftradetob.business.B61003.maCliFun_10303003(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Lcom/zt/ecftradetob/dao/OrderListInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject;+731
j  com.zt.ecftradetob.business.B61003.execute(Lcom/zt/ecftradetob/dto/R61003;)Lcom/cisc/service/api/Response;+218
j  sun.reflect.GeneratedMethodAccessor53.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+40
J 2005 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007f95c51c9a44 [0x00007f95c51c9940+0x104]
J 2004 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f95c543874c [0x00007f95c5438360+0x3ec]
j  com.zt.handler.StockWebSocketServerHandler.mapping(Ljava/util/HashMap;Lio/netty/channel/Channel;)V+397
J 2139 C2 io.netty.channel.SimpleChannelInboundHandler.channelRead(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V (74 bytes) @ 0x00007f95c565a134 [0x00007f95c5658f00+0x1234]
J 2078 C2 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext; (12 bytes) @ 0x00007f95c53525ac [0x00007f95c53523e0+0x1cc]
J 2457 C1 io.netty.handler.codec.ByteToMessageDecoder.channelRead(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V (311 bytes) @ 0x00007f95c5674b24 [0x00007f95c56731a0+0x1984]
J 2150 C2 io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V (9 bytes) @ 0x00007f95c536fd84 [0x00007f95c536fba0+0x1e4]
J 2041 C2 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/Object;)V (53 bytes) @ 0x00007f95c526a6d0 [0x00007f95c526a560+0x170]
J 2249 C1 io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read()V (298 bytes) @ 0x00007f95c557fd34 [0x00007f95c557e6e0+0x1654]
J 2077 C2 io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized()V (99 bytes) @ 0x00007f95c5147b88 [0x00007f95c51479a0+0x1e8]
J 2204% C1 io.netty.channel.nio.NioEventLoop.run()V (236 bytes) @ 0x00007f95c552e2fc [0x00007f95c552d760+0xb9c]
j  io.netty.util.concurrent.SingleThreadEventExecutor$5.run()V+44
j  io.netty.util.internal.ThreadExecutorMap$2.run()V+11
j  io.netty.util.concurrent.FastThreadLocalRunnable.run()V+4
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

2 分析问题

上面重要一句话是

# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
告诉我们用这个命令解决问题 ulimit -c unlimited

3 解决问题

[root@server01 logs]# ulimit -c unlimited
[root@server01 logs]# ulimit -c -l
core file size          (blocks, -c) unlimited
max locked memory       (kbytes, -l) 64
[root@server01 logs]# 

这里备注一下:该方法并未解决问题,希望这里不要对其他网友产生误解。

暂时解决方式

说linux的句柄太少,就是java程序进程,线程不能打开太多文件,等原因

查看句柄大小,临时性设置句柄为65536

[root@server01 ecftob]$ ulimit -n
1024
[root@server01 ecftob]# ulimit -HSn 65536

其他解决方式参考网上博客

下面一篇博文提供了解决思路
https://www.cnblogs.com/songyuejie/p/11221381.html

默认情况下Linux服务起的core core file size设置为0,需要调整该参数,但是这个参数并不能 解决问题;
问题的根本原因在于服务器的运行应用程序的打开文件的最大数及最大进程数设置的相对较小默认为4096
需要修改如下配置:
/etc/security/limits.conf

try “ulimit -c unlimited“ before starting Java again错误的排查记录 三:最主要的提示Problematic frame: j io.netty.buffer.PoolThreadCache$MemoryRegionCache.free(IZ)I+11,由于上面的core file size是关闭的,没有记录更多信息。所以也不太明确具体是出现什么问题。后面博主会继续跟踪这个问题进行完善博客。二,上面提示先执行"ulimit -c unlimited",在去执行项目启动。3,以上就完成项目自动挂的配置。 阅读详情

相关推荐

Mac安装Weblogic教程

1.Weblogic的下载 这次安装的是最新版本12 官网下载地址: http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html 下载需要登录账号,如没有账号要注册一个 下载后的文件如下图,其中fmw_12.2.1.3.0_wls_quick.jar文件就是安装包了,注意现在不要对它进行解压 2.安装前的确...

weixin_40102675的博客 5063

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unl...

这个错误消息表示无法写入内存转储文件。内存转储已被禁用。要启用内存转储,请在再次启动 Java 之前尝试使用 "ulimit -c unlimited"。 内存转储是一种系统工具,用于在程序崩溃时记录程序的当前状态。这样,开发人员就可以分析内存转储文件,以找出导致程序崩溃的原因。 如果内存转储已被禁用,则无法生成内存转储文件。要启用内存转储,可以使用 "ulimit -c unlimited" 命...

weixin_42584586的博客 9825

Unity 2022打包Android APK:手把手教你创建和配置第一个签名Keystore(避坑指南)

本文详细介绍了Unity 2022打包Android APK时创建和配置签名Keystore的全流程,包括环境准备、Keystore创建、高级配置避坑指南以及签名验证与故障排查。特别强调了Android应用签名的重要性及安全维护策略,帮助开发者避免常见错误,确保应用顺利发布。

weixin_27379781的博客 241

【未彻底解决】服务不定期终止问题。Failed to write core dump

【未彻底解决】服务不定期终止问题。Failed to write core dump

weixin_44466981的博客 4117

基于OpenMV与双舵机云台的激光追踪系统实战解析

本文详细解析了基于OpenMV摄像头与双舵机云台的激光追踪系统设计与实现。从硬件选型、图像识别算法到PID控制逻辑,全面介绍了如何构建一个高效稳定的激光追踪系统,并分享了电子设计竞赛中的实战经验与调试技巧。该系统在智能玩具、安防监控及教学演示等领域具有广泛应用前景。

prometheus9mon的博客 261

Bentley ORD(openroads designer) 二次开发(BIM)第七节 在ORD SDK中调用MicroStation SDK

从课程刚开始的时候我们就通过学习,了解了ORD的开发是基于MicroStation的,ORD SDK的接口发布的时候也对MicroStation SDK也做了一次发布。这一章将以我们对ORD SDK知识的了解为基础,使用ORD SDK的接口读取道路几何信息、计算桩号,然后再使用MicroStation SDK 读取地形数据和计算投影点的位置,并创建一组方柱形状的Soild。计算方柱底部坐标要经过两大步骤,通过路线的桩号及偏移距离去定位方柱的平面位置,通过方柱的平面位置计算数字地面模型上的投影点的坐标。

chen286990651的博客 880

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unl

Jenkins验证应用失败。控制台错误输出信息如下: 查询网络的解决办法: 1.可能内存不足 2.执行命令ulimit -c unlimited 但是似乎都不是该原因。可能是因为项目启动太多。内存不足。所以笔者尝试清内存,杀进程。 效果似乎很明显:降下来了 所以大家可以试试 查找相关端口进程:netstat -anp|grep 9300 直接kill -9 pid ...

第二颗大白菜 1万+

Windows下Python调用D435i相机避坑指南:从SDK版本选择到RealSense Viewer报错解决

本文详细介绍了在Windows环境下使用Python调用Intel D435i相机的完整避坑指南。重点解决了SDK版本选择问题,推荐使用稳定的Intel RealSense SDK 2.54.2版本,并提供了从环境配置、常见报错解决到实际应用案例的全流程实践指导,帮助开发者高效完成相机部署与开发。

palm99的专栏 923

idea闪退报Failed to write core dump. Core dumps have been disabled

idea闪退报Failed to write core dump. Core dumps have been disabled

giiiig的博客 1310

IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)

实现三分频电路最简单的是: 利用计数器实现。 时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了): 直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号 clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。 例如占空比50%: module Div_three( input clk, input rst_n, output div_three ); reg

qq_41884662的博客 1万+

YOLOv8极速瘦身实战:LAMP剪枝让模型又快又准

一个庞大的模型虽然强大,但在实际部署,尤其是资源受限的边缘设备(如无人机、移动电话、嵌入式系统)上,却面临着严峻的挑战:高昂的内存占用、巨大的计算量以及随之而来的高延迟和高能耗。本教程从LAMP剪枝的深刻理论出发,详细解释了它如何通过最小化最坏情况下的L2失真,并借助巧妙的数学简化,最终推导出一种高效、无超参数、层自适应的剪枝策略。它如同为臃肿的模型进行一次精准的“瘦身手术”,通过移除网络中冗余或不重要的权重、神经元甚至整个结构,来显著降低模型的参数量和计算量(FLOPs),从而实现推理加速和资源节约。

FJN110的博客 258

jvm 崩溃日志设置_JVM致命错误日志(hs_err_pid.log)分析(转载)

当jvm出现致命错误时,会生成一个错误文件hs_err_pid.log,其中包括了导致jvm crash的重要信息,可以通过分析该文件定位到导致crash的根源,从而改善以保证系统稳定。当出现crash时,该文件默认会生成到工作目录下,然而可以通过jvm参数指定生成路径(JDK6中引入):-XX:ErrorFile=./hs_err_pid.log该文件包含如下几类关键信息:日志头文件导致cra...

weixin_39835792的博客 719

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Conmi的正确答案——linux/树莓派下出现“Failed to write core dump. Core dumps have been disabled...”

平台:树莓派zero 系统:树莓派buster 内存卡:8G(实际7.3G) JDK版本:1.8 解决方案: JVM报错:Failed to write core dump. Core dumps have been disabled. 过程: 1、在树莓派zero上有个高并发方案(相对树莓派zero来说),一个线程每秒执行一次串口操作,三个线程操作mariadb,然后触发当前错误。 2、根据以往的经验都是使用“virtualVM”进行内存查询或系统日志进行查询后排查出问题。 3、尝试使用“JVM报错:Fa

Conmi的博客 2336

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

tomcat不定时宕机,Failed to write core dump

tomcat部署的web应用,不定时会自动挂掉。提示Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again。解决方案:更换JDK

localhost 1268

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Tomcat程序崩溃记录 Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “

# # A fatal error has been detected by the Java Runtime Environment: # # SIGBUS (0x7) at pc=0x00007f64c1114d10, pid=18249, tid=0x00007f6494667700 # # JRE version: Java(TM) SE Runtime Environment (8.0_211-b12) (build 1.8.0_211-b12) # Java VM: Java HotSpot(

Sanmu 2822

Mac M1 Failed to write core dump. Core dumps have been disabled的解决方案

Mac m1 Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

qq_28848301的博客 1605

JVM报错:Failed to write core dump. Core dumps have been disabled.

# # A fatal error has been detected by the Java Runtime Environment: # # SIGBUS (0x7) at pc=0x00007f9d3d100c50, pid=29904, tid=0x00007f9ca2bfb700 # # JRE version: Java(TM) SE Runtime Environment (8.0...

程裕强的专栏 4万+

mac m1 测试方法执行异常Failed to write core dump. Core dumps have been disabled.

目录 系统提示解决方式 最终解决方式 mac m1 在执行测试方法的时候,jdk报错,无法正常的执行(在新建一个项目后可以正常执行,过一段时间后仍然报错),通过更换支持 arm架构的jdk 目前测试的时候,没有出现报错,后面出现问题会继续更新 系统提示解决方式 # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before...

yang_zzu的博客 4802

运行一段时间报Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit

部署微服务,20个服务部署到一台腾讯云服务器上. 多个项目运行一段时间均报错: 2019-11-23 16:04:19.418 INFO 19851 --- [nio-8780-exec-4] c.c.common.aspect.ControllerLogAspect : http_method : POST 2019-11-23 16:04:19.418 INFO 19851 --...

liao0801_123的博客 7835

Failed to write core dump. Core dumps have been disabled

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33725270的博客 1757

Failed to write core dump. Core dumps have been disabled. To enable core dumping

启动程序的时候报错,如下 # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 149946368 bytes for committing reserved memory. # Possible...

qingxin_zhang的博客 1万+

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “ulimit -c unl

执行命令ulimit -c unlimited ulimit -c ulimit -c -l 参考:https://blog.csdn.net/qingxin_zhang/article/details/85229338

louxueming的专栏 3146

服务器自动崩溃处理

是的,setrlimit是您获得大核心文件的原因。您可以在大多数外壳中设置核心大小的限制,例如 在bash中,您可以执行ulimit -c 5000000。最近,我注意到由我的应用程序生成的核心转储的大小有所增加。最初,它们的大小约为5MB,包含大约5个堆栈帧,现在我的核心转储大于2GB,并且其中包含的信息与较小的转储没有区别。您可以使用setrlimit来设置核心转储大小的下限,这有可能导致无法解码的核心转储最终失败(因为它不完整)。如果您的核心转储大于2GB,则意味着在某个时候您分配了那么多的内存。

joken200898的博客 531

idea闪退

mac idea闪退

fengbo2009的博客 894
上一篇: Could not locate executable null\bin\winutils.exe in the Hadoop binaries 最全大数据技术
下一篇: mysql oracle 动态扩容分库分表 面试题
bigDataShare
博客等级 码龄9年 24粉丝 48原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值