SpringBoot 程序运行中突然中止, JVM 退出

Geekerstar · 2024-10-9 10:25:18 · 624 次点击
程序退出后,生成了一个 hs_err_pid1301132.log 文件,前面的内容如下,可以根据这个判断出是什么原因导致的吗?

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000072ca636529ce, pid=1301132, tid=0x000072c7af5ff640
#
# JRE version: Java(TM) SE Runtime Environment (8.0_371) (build 1.8.0_371-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.371-b11 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J 39882 C2 sun.nio.ch.IOUtil.write(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;IILsun/nio/ch/NativeDispatcher;)J (509 bytes) @ 0x000072ca636529ce [0x000072ca636528a0+0x12e]
#
# 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
#
举报· 624 次点击
登录 注册 站外分享
17 条回复  
jiom 小成 2024-10-9 11:01:48
ulimit -a 看看系统有没有做参数优化
dx123 小成 2024-10-9 11:17:36
看看你的 JVM 参数和配置呢
iyiluo 小成 2024-10-9 11:29:25
jvm 没配置 core dump ,这点日志看不出什么。看谷歌结果貌似是 netty 报的错,检查一下代码或者加 core dump 参数后等复现吧
serverKnignt 初学 2024-10-9 11:38:19
是不是被 Linux kill 了?
ZZ74 小成 2024-10-9 11:39:24
jvm 退出最常见的就是内存不够了,要么是堆内存,要么是堆外内存。 结合 ByteBuffer 和 SIGSEGV ,堆外可能性最大。具体的得描述下你的程序是干嘛的,以及更多 log
willbetter 初学 2024-10-9 14:28:27
可能是磁盘空间不足或者是打开的文件数据过多了
D3EP 小成 2024-10-9 15:38:15
程序有手动控制 Netty ByteBuf 的逻辑吗?之前接手过一个 RPC 框架,在一些业务场景下出现类似的 Segment Fault ,发现是在某个地方释放了 ByteBuf ,但后面又往里写数据最终 core 掉了。
julyclyde 小成 2024-10-9 16:24:34
@jiom ulimit 只对“当前 shell”有效。查看别的进程的 limit 需要看/proc
Solace202 小成 2024-10-9 17:02:28
肯定是代码写的有问题,建议把最新版本和上次版本之间提交的代码 review 下,对于循环、查库 留意下,大概率是内存不够直接挂了
12下一页
返回顶部