服务器内存不够导致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等内存相关参数
相关推荐
蚊子码农19 分钟前
算法题解记录-208实现Trie前缀树
运维·服务器·算法
RisunJan34 分钟前
Linux命令-iptables(配置防火墙规则的核心工具)
linux·运维·服务器
UpYoung!39 分钟前
【Windows 文件系统管理工具】实用工具之XYplorer 完全指南:专业级文件系统管理的终极解决方案
运维·运维开发·实用工具·文件系统管理·办公学习·xyplorer·windows文件管理工具
叁金Coder1 小时前
【CentOS-Stream-9 配置网卡信息】
linux·运维·centos
石像鬼₧魂石1 小时前
139/445 端口(Samba 服务)渗透测试全流程总结与复习
运维·安全·ssh
赵一舟1 小时前
linux下的磁盘清理
linux·运维·服务器
子洋1 小时前
基于远程开发的大型前端项目实践
运维·前端·后端
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-企业级软件研发工程应用规范案例
java·运维·spring boot·软件工程·devops
生产队队长1 小时前
Linux:awk进行行列转换操作
android·linux·运维
捷米研发三部1 小时前
EtherNet/IP转CAN协议转换网关实现罗克韦尔 PLC与压力传感器通讯在轮胎压力监测系统的应用案例
服务器·网络