当前位置: 首页 > news >正文

【达梦数据库】OOM问题排查思路

目录

  • 背景
  • 问题1:DM线程导致OOM
    • 问题现象
    • 排查思路
      • 1、查看数据库日志
      • 2、查看数据库参数是否合理
        • 内存参数
        • 会话参数
      • 3、查看Core文件是否生成
      • 4、特殊情况
  • 问题2:非DM线程导致OOM

背景

近期遇到很多OOM的问题,一部分是数据库申请内存过大导致OOM,另一部分是因为系统本身OOM,做以下总结。

问题1:DM线程导致OOM

问题现象

数据库服务异常停止。linux下,查看系统日志/var/log/messages,查找oom-killer关键字,定位到DM线程导致OOM

vim /var/log/messages

在这里插入图片描述

排查思路

1、查看数据库日志

日志目录下查看log日志:

 vim /home/dmdba/dmdbms/log/dm_DMDB_202506.log

无ERROR、FATAL,且对应时间点日志未报错。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、查看数据库参数是否合理

内存参数

查看dm.ini文件中,内存参数是否合理。

vim /dmdata/DAMENG/dm.ini

在这里插入图片描述
通常来说,如果全部内存的80%给到数据库使用,BUFFER差不多是总内存的1/3(如果比例更低,BUFFER也会相应的更低,可以灵活调节),以下是根据自动优化脚本计算出的参数的推荐值:
在这里插入图片描述

会话参数

查看dm.ini文件中,会话参数MAX_SESSIONS是否合理。

vim /dmdata/DAMENG/dm.ini

在这里插入图片描述
会话会占用内存,过多的会话容易导致OOM,如果V$SESSIONS视图中的会话数接近最大会话数MAX_SESSIONS,且远远大于优化脚本中的推荐值,那需要小心了,建议还是加大内存重新优化;

SELECT * FROM V$SESSIONS;

在这里插入图片描述
在这里插入图片描述

3、查看Core文件是否生成

查看Core文件配置路径

cat /etc/sysctl.conf

在这里插入图片描述查看生成的Core文件

ll /dmdata/

在这里插入图片描述
如果有Core文件产生,可以通过gdb工具分析Core文件,并获取到异常SQL,进行复现。相关操作请参考链接: 【达梦数据库】Coredump文件生成与分析

4、特殊情况

若以上情况都没有问题,即日志不产生报错、参数配置合理、未产生Core文件
,可以限制一下会话数的问题大小,待应用运行后如果占用大内存的SQL会报错,这样可以反向定位到问题SQL。

--动态参数
SP_SET_PARA_VALUE(1,'MAX_SESSION_MEMORY',2048);
--静态单数
SP_SET_PARA_VALUE(1,'MAX_HEAP_SIZE',2048);

问题2:非DM线程导致OOM

在这里插入图片描述
可以根据DM线程导致OOM的思路排查一下:

  • 如果数据库日志中对应时间点日志未报错,大概率不是数据库的问题,需要服务器厂商排查一下。
http://www.lqws.cn/news/155215.html

相关文章:

  • 03 Deep learning神经网络的编程基础 代价函数(Cost function)--吴恩达
  • 机器学习——什么时候使用决策树
  • Django之表格上传
  • JUnit
  • 实现单例模式的常见方式
  • 基于Java(SpringBoot、Mybatis、SpringMvc)+MySQL实现(Web)小二结账系统
  • 一、ES6-let声明变量【解刨分析最详细】
  • 华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
  • 快速用 uv 模拟发布一个 Python 依赖包到 TestPyPI 上,以及常用命令
  • 机器学习实验八--基于pca的人脸识别
  • 游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程
  • 深入解析CI/CD开发流程
  • Bug问题
  • Java 高频面试题场景(四):社区老年大学在线学习平台系统
  • 如何处理React中表单的双向数据绑定?
  • pg数据库表里面id值,使用sql语句赋值,唯一性
  • 数学运算在 OpenCV 中的核心作用与视觉效果演示
  • chrome使用手机调试触屏web
  • latex画表格
  • NoSQl之Redis部署
  • Android15 launcher3
  • SQL进阶之旅 Day 16:特定数据库引擎高级特性
  • PostgreSQL 入门教程
  • AI应用工程师面试
  • OpenCV 图像像素的逻辑操作
  • 【CPU】英特尔酷睿Ultra 5 225H与Ultra7 258V(Lunar Lake架构)PK
  • Sublime Text4 4192 安装
  • 解决el-select选择框右侧下拉箭头遮挡文字问题
  • DASCTF
  • buuctf——web刷题第二页