DM8:达梦数据库宕机问题分析调试gdb core

本文介绍了达梦数据库在Linux环境下宕机时,如何处理核心文件大小限制并利用gdb进行调试。通过修改系统配置以解除core文件大小限制,然后详细阐述了查找和调试core文件的步骤,包括使用gdb解析线程崩溃的SQL语句,以及对dmserver实例的调试方法,以复现和解决宕机问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境介绍

  • 在达梦数据库发生宕机的场景中会在数据库bin 执行目录生成 core.* 文件;
  • core文件会对内存信息进行保存,方便后续定位数据库进程宕机原因。
  • 有时候会在其他目录生成core.dmserver.* 文件,在某些操作系统中 ulimit -c 对core 文件没有限制,但对core文件大小生成仍有限制 ,限制后,无法保存完整的内存信息,也就无法定位数据库宕机原因;
  • 下面先从core 文件限制说起。

1 Linux core文件生成受限制–Core file was truncated to 2147483648 bytes

Jun 10 10:07:10 localhost systemd-coredump[353583]: Core file was truncated to 2147483648 bytes.
Jun 10 10:07:13 localhost systemd-coredump[353583]: Process 3338819 (dmserver) of user 1000 dumped core.#012#012Stack trace of thread 3345199:#012#0  0x0000000000e82d48 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#1  0x00000000000003e8 n/a (n/a)#012#2  0x0000000000e83968 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#3  0x0000000000d65400 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#4  0x0000000000e9ca28 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#5  0x0000000000e9cccc n/a (/home/dmdba/dmdbms/bin/dmserver)#012#6  0x0000000000e9dcdc n/a (/home/dmdba/dmdbms/bin/dmserver)#012#7  0x0000000001247d30 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#8  0x000000000124a8c8 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#9  0x0000000001250098 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#10 0x00000000011800c4 n/a (/home/dmdba/dmdbms/bin/dmserver)#012#11 0x0000fffbd9c888cc n/a (n/a)#012#12 0x0000fffbd991a1ec n/a (n/a)
Jun 10 10:07:13 localhost systemd[1]: systemd-coredump@2-353582-0.service: Succeeded.\\

1.1 查看服务器内存是64G:

在这里插入图片描述

1.2 修改系统配置文件的三个参数值

vi /etc/systemd/coredump.conf
ProcessSizeMax=实际内存值G
ExternalSizeMax=实际内存值G
JournalSizeMax=实际内
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祢真伟大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值