服务器内存不够导致postgresql进程被kill的问题记录

服务器环境:Centos7.9,PGSQL14

  1. 故障现象
    平均负载飙升至80以上
    磁盘 IO 高: 故障期间磁盘 IO 明显增加
    同步异常: 主从库的复制出现问题,从库自动提升为主库

  2. 排查过程
    磁盘 IO:使用 iostat查看磁盘 IO 活动,发现磁盘读写频繁
    内存使用情况:通过报警发现内存压力较大
    dmesg:发现反复出现 PostgreSQL 进程被内存不足(OOM)杀掉的日志检查
    PostgreSQL 慢查询日志,查看活动锁,并未发现明显异常的查询或锁
  3. 原因分析
    从 dmesg 日志中看到pgsql进程被kill的信息PostgreSQL 进程因为系统内存不足被杀掉,导致同步延迟和负载飙升
    高 IO 很可能是由于进程被系统kill之后事务回滚 或 PostgreSQL 进程在崩溃后尝试恢复所导致的
  4. 解决方案
    在pgsql配置参数已调整的情况下,最有效的方案是扩大机器内存。
    如果pgsql使用默认参数,可以按机器情况调整shared_buffers 、work_mem、maintenance_work_mem等内存相关参数
相关推荐
我要升天!2 分钟前
Git的原理与使用 -- 基础操作
大数据·服务器·git·elasticsearch
你想考研啊3 分钟前
Linux下搭建Activemq的Master-Slave(共享文件模式)
linux·运维·activemq
ajassi20007 分钟前
开源 Linux 服务器与中间件(十)Mqtt协议和Emqx服务器安装测试
linux·服务器·开源
ajassi200011 分钟前
开源 Linux 服务器与中间件(八)数据库--MariaDB
服务器·数据库·开源
Teamhelper_AR25 分钟前
AR巡检系统:打开工业智能运维的下一幕
运维·ar
道阻且长行则将至!38 分钟前
ubuntu中为什么查看CPU的步进?查看命令是什么?
linux·运维·ubuntu·步进·stepping
IvorySQL1 小时前
为IvorySQL增添PACKAGE语法帮助
数据库·postgresql
wanhengidc1 小时前
站群服务器都有什么作用
服务器·安全·智能手机·玩游戏
徐sir(徐慧阳)2 小时前
搭建属于自己的网站HEXO静态页(二)发布网站到gihub
服务器·node.js·github·hexo
Wang's Blog2 小时前
Linux小课堂: 网络接口与连接监控命令详解
linux·运维·服务器