内存碎片率和连接数是redis稳定性的核心指标:碎片率=used_memory_rss/used_memory,1.0~1.5为健康区间,超1.5需关注oom风险,低于1.0表明启用swap;连接数看connected_clients与maxclients比值,超80%应预警,blocked_clients非零提示阻塞命令卡点。

Redis 内存碎片率和连接数是两个直接影响稳定性和性能的关键指标。监控它们不依赖外部工具,用原生命令就能快速获取,重点在于理解数值含义、变化趋势和阈值判断。
内存碎片率怎么查和看
内存碎片率 = used_memory_rss / used_memory,它反映操作系统分配给 Redis 的物理内存与 Redis 实际使用内存的比值。
- 执行
redis-cli INFO memory,找到used_memory_rss(操作系统视角的物理内存占用)和used_memory(Redis 自身管理的内存用量) - 用这两个值手动相除,或由监控系统自动计算(如 Zabbix、Prometheus + Redis Exporter)
- 1.0~1.5 是健康区间;超过 1.5 表示碎片严重,可能引发响应延迟、内存浪费甚至 OOM 风险
- 低于 1.0 说明 Redis 在使用 swap(虚拟内存),性能会断崖式下降,需立即干预
连接数怎么查和看
连接数直接体现客户端负载压力,核心看 connected_clients 是否接近上限,以及是否异常增长。
- 执行
redis-cli INFO clients,重点关注connected_clients(当前活跃连接数)和maxclients(最大允许连接数) - 同时留意
blocked_clients:非零值说明有客户端被BLPOP、BRPOP等阻塞命令挂起,长期不降可能是业务逻辑卡点 - 连接数持续攀升但 QPS 没明显上涨,大概率存在连接泄露(比如应用未正确关闭连接)
- 建议设置告警:当
connected_clients > 0.8 × maxclients时触发预警,留出缓冲空间
日常怎么盯住这两个指标
单次检查靠命令,长期保障靠自动化采集+可视化+分级告警。
- 用
redis-cli --no-auth-warning -h {host} -p {port} INFO memory | grep -E "(used_memory|used_memory_rss)"快速提取碎片率所需字段 - 用
redis-cli INFO clients | grep -E "(connected_clients|maxclients|blocked_clients)"一键查看连接状态 - 在 Grafana 中把
used_memory_rss/used_memory和connected_clients加入核心 Dashboard,叠加 7 天趋势线 - 对碎片率 >1.5 或连接数 >90% maxclients 的情况,配置 P1 级告警,通知到值班群或运维平台











