redis 中的info 指标
# redis 中key-value使用的内存量
used_memory:2709112
used_memory_human:2.58M
# 从操作系统层面redis 内存占用量
used_memory_rss:5378048
used_memory_rss_human:5.13M
# 内存使用峰值
used_memory_peak:6786120
used_memory_peak_human:6.47M
used_memory_peak_perc:39.92%
# 操作系统内存
total_system_memory:8196608000
total_system_memory_human:7.63G
# lua 进程使用内存量
used_memory_lua:43008
used_memory_lua_human:42.00K
# 内存碎片率 = used_memory_rss/used_memory
# mem_fragmentation_ratio > 1 碎片率过大,导致内存资源浪费;,如果值越大,说明碎片越严重
# mem_fragmentation_ratio < 1: 一般出现在操作系统把Redis内存交换到硬盘导致,redis已使用swap分区
mem_fragmentation_ratio:2.02
mem_fragmentation_bytes:2709960
# 最大内存限制
maxmemory:0
maxmemory_human:0B
# 到达最大内存的淘汰策略
maxmemory_policy:noeviction
# redis内存分配策略,在编译时指定。可以是libc 、jemalloc 、tcmalloc
mem_allocator:jemalloc-5.1.0
Redis进程内的内存
大约3MB ,计算到used_memory_rss中
数据对象内存占用
缓冲内存
这部分内存由jemalloc分配,因此会统计在used_memory中
127.0.0.1:6379> CONFIG GET client-output-buffer-limit
1) "client-output-buffer-limit"
2) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
客户端缓存
# 无限制
normal 0 0 0
主从复制
# 当主从复制 输出缓存大于 256MB 时关闭连接。
# 或
# 持续60s 大于 64MB 时 关闭连接
# 256MB 64MB 60s
slave 268435456 67108864 60
发布订阅
# 发布订阅 输出缓存大于 32MB 时关闭连接。
# 或
# 持续60s 大于 8MB 时 关闭连接
# 32MB 8MB 60s
pubsub 33554432 8388608 60
-
复制积压缓冲区
# info replication 1MB repl_backlog_size:1048576
-
AOF缓冲区
redis 执行AOF RDB 时,也会占用内存,但不会统计到used_memory
和 used_memory_rss
aof_buffer_length:0
aof_rewrite_buffer_length:0
redis fork 子进程 执行aof/rdb 会消耗内存,理论来说执行aof 重写和rdb 快照时会需要多出1倍的内存空间,但实际上不是这样,这个过程使用了copy-on-write机制
参考 https://blog.csdn.net/hguisu/article/details/90748825/
标签:used,mem,redis,内存,human,memory,相关 From: https://www.cnblogs.com/wangend/p/17322654.html