服务器内存不够导致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等内存相关参数
相关推荐
byoass3 分钟前
企业云盘高可用架构:主备切换、负载均衡与健康检查实战
运维·网络·安全·架构·云计算·负载均衡
白菜欣12 分钟前
Linux —进程概念
linux·运维·服务器
iuu_star15 分钟前
Vue+FastAPI 项目宝塔Linux部署指南
linux·运维·fastapi
杜哥无敌17 分钟前
FreeSSHd vs FileZilla Server vs SFTPGo:Windows SFTP服务器易用性终极横向测评
运维·服务器·windows
楼田莉子18 分钟前
仿Muduo的高并发服务器:Channel模块与Poller模块
linux·服务器·c++·学习·设计模式
IMPYLH24 分钟前
Linux 的 tail 命令
linux·运维·服务器·bash
生成论实验室24 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第五篇:安全关键关系——故障、障碍与冲突
运维·服务器·人工智能·安全·架构
maosheng114632 分钟前
RHCE的第一次笔记
服务器·网络·笔记
.柒宇.38 分钟前
AI掘金头条项目 Docker Compose 部署完整教程(附踩坑记录)
运维·后端·python·docker·容器·fastapi
Nightwish538 分钟前
Linux随记(三十)
linux·运维·mysql·ambari