)
一、日常巡检命令适配本机 RedHat8.6、/data 部署 PG 环境一磁盘专项排查# 1.查看全分区容量使用率重点看/data df -Th # 2.查看/data分区inode占用防小文件过多无法新建文件 df -i /data # 3.统计/data整体占用大小 sudo du -sh /data # 4.分级查看/data子目录占用定位数据/备份/日志占比 sudo du -sh /data/* # 5.PG专属目录精准统计 sudo du -sh /data/postgresql_data #主业务库目录 sudo du -sh /data/pgbak #备份文件目录 sudo du -sh /data/pglog /data/pgwal #运行日志、WAL事务日志 sudo du -sh /data/pgbak/* #深入查看备份子目录占用库内查看数据库、单表占用登录 PG 执行#切换postgres用户进入终端 sudo su - postgres psql #查所有数据库占用大小 SELECT datname, pg_size_pretty(pg_database_size(datname)) AS db_size FROM pg_database ORDER BY pg_database_size(datname) DESC; #查当前库各业务表占用大小 SELECT relname, pg_size_pretty(pg_total_relation_size(relid)) AS table_size FROM pg_stat_user_tables ORDER BY pg_total_relation_size(relid) DESC;二CPU / 内存 / IO 负载排查#1.整机一体化采样CPU、内存、IO、交换区2秒1次、采集5轮 vmstat 2 5 #2.整机实时资源面板按P键按CPU排序进程 top #3.聚焦PG进程CPU占用 top -p $(pidof postgres) #4.查看PG进程基础信息、PID ps aux | grep postgres #5.持续监控单个PG进程CPU替换真实PID2秒刷新 pidstat -p 进程PID 2 #6.查看磁盘读写压力卡顿重点排查 sudo dnf install sysstat -y #首次使用先装工具 iostat -x 2二、常见宕机诱因表格含现象、判断方式、防控手段表格 1磁盘类故障最高发表格故障类型触发原因直观现象判断命令防控手段分区容量写满业务数据持续增长、过期备份堆积、事务日志未清理/data 分区占满新增业务写入失败、事务卡死、数据库只读无法提交df -Th查看 /data 使用率接近 100%定期清理 pgbak 过期备份给 pglog 配置日志自动轮转监控分区使用率告警Inode 节点耗尽海量小表、临时碎片文件过多用光文件节点磁盘还有空余容量磁盘空间充足但无法新建数据表、日志文件df -i /data查看 IUse% 数值走高定时清理无用临时碎片文件避免批量生成海量小表磁盘 IO 阻塞过载大量慢 SQL 并发读写、大批量备份任务抢占 IO 资源查询响应极慢、事务超时、业务频繁报错iostat -x 2观察磁盘读写负载长期偏高优化慢 SQL大批量备份任务错峰执行升级高性能磁盘表格 2CPU 内存类故障表格故障类型触发原因直观现象判断命令防控手段CPU 持续满载未优化慢 SQL、死循环查询、批量运算任务占用全部算力页面访问超时、新请求排队无响应top、vmstat 2 5查看 CPU 使用率长期 100%优化低效 SQL限制大查询并发数量拆分超大运算任务系统 OOM 杀掉 PG 进程PG 内存参数配置过高、连接数过多占用内存系统内存耗尽主动杀进程PG 服务突然中断重启业务直接宕机free -h查剩余内存查看/var/log/messagesOOM 日志合理调整 shared_buffers、work_mem 参数及时回收闲置连接Swap 频繁交换颠簸物理内存不足系统频繁调用交换分区读写整体性能暴跌、事务大量超时堆积vmstat 2 5si/so 列持续大于 0扩容服务器内存下调 PG 内存占用参数减少无效长连接表格 3数据库自身配置 连接故障表格故障类型触发原因直观现象判断方式防控手段最大连接数打满业务程序连接泄漏、空闲连接不释放触达 max_connections 上限新业务请求直接被拒绝老连接可用库内执行select count(*) from pg_stat_activity;统计连接总量业务端开启连接池回收空闲连接按需调大连接上限长事务 / 死锁堆积业务事务编写不合理、锁占用时间过长阻塞写入链路部分表无法更新、整库写入卡顿库内查询长事务、锁等待视图精简事务逻辑缩短事务执行时长定期排查死锁WAL 归档失败中断写入归档目录磁盘满、路径权限错误PG 暂停写入保护数据新增事务全部卡住无法提交查看 pgwal 目录占用、PG 运行报错日志监控归档目录空间定期校验归档读写权限表格 4系统外部 运维操作故障表格故障类型触发原因直观现象判断方式防控手段系统资源上限拦截文件打开数 ulimit 阈值偏低高并发打开表超限PG 进程意外退出重启查看系统日志提示文件打开超限调高系统文件打开数、进程数上限网络策略异常中断防火墙 / 安全组封禁 5432 端口、内网链路波动业务无法连接数据库实例本身正常测试端口连通性、核对安全组规则固定数据库端口放行规则监控主备同步网络质量人为运维误操作误删核心数据文件、错执行删库 SQL、配置修改错误重启失败实例直接宕机、数据丢失回溯操作记录、查看启动报错日志高危操作前备份数据配置变更先测试再上线日志无限制膨胀运行日志未配置轮转持续占满磁盘空间分区容量逐步打满触发写入故障查看 pglog 目录体积配置日志定时切割、过期自动清理