服务器内存不够导致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等内存相关参数
相关推荐
玥轩_5219 小时前
OSPF路由协议单区域配置
服务器·网络·智能路由器·交换机·ospf·动态路由
小陈phd10 小时前
大语言模型实战(五)——大模型开发范式演进:从“调用API”到“多Agent复杂目标”
服务器·microsoft·语言模型
峰顶听歌的鲸鱼10 小时前
15.docker:网络
运维·网络·docker·容器·云计算·php·学习方法
QQ__176461982410 小时前
SSH远程时找不到模块ModuleNotFoundError
linux·服务器·ssh
CHANG_THE_WORLD10 小时前
6.2.在汇编层面,数据本身没有类型
java·服务器·汇编
wangchen_010 小时前
Linux文件描述符定时器:timerfd系列接口
linux·运维·服务器
不染尘.10 小时前
TCP客户服务器编程模型
linux·服务器·网络·网络协议·tcp/ip·计算机网络·ssh
Trouvaille ~10 小时前
【Linux】目录、路径与软硬链接:Linux文件组织的奥秘
linux·运维·服务器·chrome·文件系统·软硬链接·路径缓存
张太行_10 小时前
Linux shell中设置串口参数
linux·运维·chrome
乾元10 小时前
LLM 自动生成安全基线与等保合规初稿——把“网络工程事实”转译为“可审计的制度语言”
运维·网络·人工智能·python·安全·架构