首页/数据/Redis 进阶速查/集群实例的内存汇总方法
内存与管理99 条

集群实例的内存汇总方法

集群内存分散在各节点:逐节点采集 INFO memory 汇总总量与水位,同时看槽分布与热点,避免均值掩盖个别节点紧张。

Redis 进阶速查数据更新于 2026-10-13

集群内存要逐节点看

集群的内存分散在各个节点上,只看全局均值会掩盖个别节点的紧张。正确做法是逐节点采集 INFO memory,再配合槽位分布与键的空间分布做交叉判断。扩容与再平衡的决策依据是分节点条件,而不是平均值。

基本信息

采集方式逐节点执行 INFO memory
分析视角分节点水位加槽位分布
工具支撑监控系统按实例打标
决策依据分节点条件,而非全局均值
端口服务端口加集群总线端口

典型使用场景

  • 集群整体水位正常,个别节点却先触线
  • 扩容前的容量确认与目标节点选择
  • 槽迁移期间源节点与目标节点的内存余量评估
  • 热点键集中导致单节点压力偏高
  • 节点间内存分布不均,需要再平衡

逐节点采集

逐节点采集
redis-cli -h node1 -p 7000 INFO memory | grep -E 'used_memory_human|maxmemory_human'
redis-cli -h node1 -p 7000 cluster info | grep -E 'cluster_state'
redis-cli --cluster check 127.0.0.1:7000   # 一致性检查与槽位分布
redis-cli -h node1 -p 7000 CLUSTER SLOTS   # 槽位到节点的区间映射
redis-cli -h node1 -p 7000 CLUSTER COUNTKEYSINSLOT 0   # 抽查某槽的键数
redis-cli -h node1 -p 7000 CLUSTER NODES   # 节点清单,便于循环逐节点采集

汇总视角的盲区

视角能看出什么盲区
全局总内存整体容量与水位的概览掩盖单节点倾斜
分节点水位找出先触线的节点看不出键的空间分布
槽位分布各节点负责的范围不反映每个槽的数据量
槽内键数定位数据量大的槽需逐槽抽查,成本较高
热点键分布判断是否需要重分片依赖采样口径
槽迁移期间,源节点与目标节点会同时持有迁移中的键,规划内存余量时要把这部分双份占用算进去,否则迁移中途就可能触发淘汰。
只盯全局均值做扩容判断,容易出现某些节点已经触线、而集群整体看起来还有余量的情况,扩容时机被显著推迟。
节点指标要按实例打标并与数据角色关联,否则监控面板上分不清哪个是主节点、哪个是从节点,判读容易错位。

易错点

  • 只盯全局均值:个别节点先触线才被发现,扩容时机被推迟
  • 忽略迁移期间的双份内存:迁移中途触发淘汰或写入失败
  • 不按实例与角色打标:面板上分不清节点职责,判读错位
  • 扩容只看总容量不看槽分布:新节点分到冷槽,扩容效果不及预期

数据来源与参考

  • Redis 官方实践:集群内存监控
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌