服务器内存不够导致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等内存相关参数
相关推荐
IT成长日记3 小时前
【自动化运维神器Ansible】Ansible常用模块之hostname模块详解
运维·自动化·ansible·hostname·常用模块
lixzest3 小时前
Linux 中,命令查看系统版本和内核信息
linux·运维·服务器
朱小弟cs64 小时前
Orange的运维学习日记--16.Linux时间管理
linux·运维·学习
chen_note4 小时前
LAMP及其环境的部署搭建
linux·运维·mysql·php·apache·lamp·phpmyadmin
夕泠爱吃糖4 小时前
Linux 操作系统
linux·运维·服务器
数据要素X4 小时前
【数据架构10】数字政府架构篇
大数据·运维·数据库·人工智能·架构
专注VB编程开发20年5 小时前
winsock socket通讯为什么UDP服务器无法获取客户端IP?
服务器·tcp/ip·udp
G_H_S_3_5 小时前
【网络运维】 Linux:使用 Cockpit 管理服务器
运维·服务器·网络
Linux技术支持工程师5 小时前
二十八、【Linux系统域名解析】DNS安装、子域授权、缓存DNS、分离解析、多域名解析
linux·运维·服务器·缓存·centos
Adorable老犀牛5 小时前
AI×运维:从“救火队员”到“预见者”的涅槃:智启下一代IT运维的无限可能
运维·人工智能·aiops