Redis怎么查看剩余内存?有哪些简洁高效的方法?

文章导读
使用 Redis CLI 命令 INFO memory 可以查看详细的内存信息,其中 used_memory_human 显示已用内存,maxmemory 显示最大内存,剩余内存可通过 maxmemory - used_memory 计算得出。这是最高效的方法。
📋 目录
  1. 方法一:INFO memory 命令
  2. 方法二:redis-cli --bigkeys
  3. 方法三:CONFIG GET maxmemory
  4. 方法四:内存使用率监控
  5. 方法五:脚本化查询
  6. 方法六:通过 Redis 监控工具
A A

使用 Redis CLI 命令 INFO memory 可以查看详细的内存信息,其中 used_memory_human 显示已用内存,maxmemory 显示最大内存,剩余内存可通过 maxmemory - used_memory 计算得出。这是最高效的方法。

方法一:INFO memory 命令

redis-cli INFO memory | grep used_memory redis-cli INFO memory | grep maxmemory 通过这两个命令快速获取已用和最大内存,计算剩余即可。简单高效,一行命令搞定。

方法二:redis-cli --bigkeys

虽然主要是查大key,但结合 INFO memory 使用,能看到内存分布。剩余内存直接从 INFO memory 的 rss 和 used_memory 差值估算。

Redis怎么查看剩余内存?有哪些简洁高效的方法?

方法三:CONFIG GET maxmemory

redis-cli CONFIG GET maxmemory 获取最大内存设置,再用 redis-cli INFO memory | grep used_memory_human 对比剩余。适用于生产环境快速检查。

方法四:内存使用率监控

redis-cli --latency -h host -p port -a pass INFO memory 中 mem_fragmentation_ratio 显示碎片率,结合 used_memory_rss 计算实际剩余。

Redis怎么查看剩余内存?有哪些简洁高效的方法?

方法五:脚本化查询

echo "INFO memory" | redis-cli | grep -E 'used_memory|maxmemory' 这条 bash 一键命令,输出已用和最大内存,直接相减得剩余。

Redis怎么查看剩余内存?有哪些简洁高效的方法?

方法六:通过 Redis 监控工具

使用 redis-stat 或 redis-exporter,实时 dashboard 显示剩余内存曲线,适合长期监控,但命令行还是 INFO 最快。

FAQ
Q: Redis 剩余内存为负数怎么办?
A: 表示已超最大内存,会触发 OOM 或 eviction。
Q: 如何设置 maxmemory?
A: redis-cli CONFIG SET maxmemory 1073741824 #1GB。
Q: used_memory 和 used_memory_rss 区别?
A: 前者分配内存,后者驻留内存,包括碎片。
Q: 怎么清理内存碎片?
A: 重启或用 MEMORY PURGE 命令(Redis 4.0+)。