内存统计
语法
MEMORY STATS
- 从以下位置开始可用:
- 4.0.0
- 时间复杂度:
- O(1)
- ACL 类别:
-
@slow
,
这MEMORY STATS
command 返回一个 Array 回复,该回复中
服务器。
有关内存使用情况的信息以 metrics 及其各自的 值。将报告以下指标:
peak.allocated
:Redis 消耗的峰值内存(以字节为单位)(请参阅INFO
的used_memory_peak
)total.allocated
:Redis 使用其 allocator 的 Allocator 中(请参阅INFO
的used_memory
)startup.allocated
:Redis 在启动时消耗的初始内存量 以字节为单位(请参阅INFO
的used_memory_startup
)replication.backlog
:复制积压的大小(以字节为单位)(请参阅INFO
的repl_backlog_active
)clients.slaves
:所有副本开销的总大小(以字节为单位)(输出 和查询缓冲区、连接上下文)clients.normal
:所有客户端开销的总大小(以字节为单位)(输出 和查询缓冲区、连接上下文)cluster.links
:集群链接的内存使用情况(在 Redis 7.0 中添加,请参阅INFO
的mem_cluster_links
).aof.buffer
:AOF 相关缓冲区的总大小(以字节为单位)。lua.caches
:Lua 脚本开销的总大小(以字节为单位) 缓存functions.caches
:Function 脚本的开销之和大小(以字节为单位) 缓存dbXXX
:对于每个服务器的数据库,main 和 过期词典 (overhead.hashtable.main
和overhead.hashtable.expires
)分别以字节为单位报告overhead.db.hashtable.lut
:数据库中字典存储桶的总开销(在 Redis 7.4 中添加)overhead.db.hashtable.rehashing
:当前正在重新哈希的数据库词典的临时内存开销(在 Redis 7.4 中添加)overhead.total
:所有开销的总和,即startup.allocated
,replication.backlog
,clients.slaves
,clients.normal
,aof.buffer
和 用于管理 Redis 密钥空间(请参阅INFO
的used_memory_overhead
)db.dict.rehashing.count
:当前正在重新哈希的数据库字典数(在 Redis 7.4 中添加)keys.count
:存储在 服务器keys.bytes-per-key
:之间的比率dataset.bytes
和keys.count
dataset.bytes
:数据集的大小(以字节为单位),即overhead.total
减去total.allocated
(参见INFO
的used_memory_dataset
)dataset.percentage
:百分比dataset.bytes
在总数中 内存使用情况peak.percentage
:百分比total.allocated
出peak.allocated
allocator.allocated
:看INFO
的allocator_allocated
allocator.active
:看INFO
的allocator_active
allocator.resident
:看INFO
的allocator_resident
allocator.muzzy
:看INFO
的allocator_muzzy
allocator-fragmentation.ratio
:看INFO
的allocator_frag_ratio
allocator-fragmentation.bytes
:看INFO
的allocator_frag_bytes
allocator-rss.ratio
:看INFO
的allocator_rss_ratio
allocator-rss.bytes
:看INFO
的allocator_rss_bytes
rss-overhead.ratio
:看INFO
的rss_overhead_ratio
rss-overhead.bytes
:看INFO
的rss_overhead_bytes
fragmentation
:看INFO
的mem_fragmentation_ratio
fragmentation.bytes
:看INFO
的mem_fragmentation_bytes
关于本手册页中使用的单词 slave 的说明:从 Redis 5 开始,如果不是为了向后兼容,Redis 项目不再使用单词 slave。不幸的是,在这个命令中,slave 这个词是协议的一部分,所以只有当这个 API 被自然弃用时,我们才能删除此类事件。