Redis 内存使用率

1、Redis-cli命令行界面访问到Redis服务器

2、输入info memory命令,返回与内存相关的数据。

 

used_memory:由 Redis 分配器分配的内存总量,包含了redis进程内部的开销和数据占用的内存,以字节(byte)为单位

used_memory_human:已更直观的单位展示分配的内存总量。

used_memory_rss:向操作系统申请的内存大小。与 top 、 ps等命令的输出一致。

used_memory_rss_human:已更直观的单位展示向操作系统申请的内存大小。

used_memory_peak:redis的内存消耗峰值(以字节为单位)

used_memory_peak_human:以更直观的格式返回redis的内存消耗峰值

total_system_memory:整个系统内存

total_system_memory_human:以更直观的格式显示整个系统内存

used_memory_lua:Lua脚本存储占用的内存

used_memory_lua_human:以更直观的格式显示Lua脚本存储占用的内存

maxmemory:Redis实例的最大内存配置

maxmemory_human:以更直观的格式显示Redis实例的最大内存配置

maxmemory_policy:当达到maxmemory时的淘汰策略

mem_fragmentation_ratio:碎片率,used_memory_rss/ used_memory

mem_allocator:内存分配器

 

当内存使用达到设置的最大阀值时,需要选择一种key的回收策略,可在Redis.conf配置文件中修改“maxmemory-policy”属性值。 Redis 淘汰策略,如下:

  • volatile-lru:使用LRU算法从已设置过期时间的数据集合中淘汰数据。
  • volatile-ttl:从已设置过期时间的数据集合中挑选即将过期的数据淘汰。
  • volatile-random:从已设置过期时间的数据集合中随机挑选数据淘汰。
  • allkeys-lru:使用LRU算法从所有数据集合中淘汰数据。
  • allkeys-random:从数据集合中任意选择数据淘汰
  • no-enviction:禁止淘汰数据。

若是Redis数据集中的key都设置了过期时间,那么“volatile-ttl”策略是比较好的选择。但如果key在达到最大内存限制时没能够迅速过期,或者根本没有设置过期时间。那么设置为“allkeys-lru”值比较合适,它允许Redis从整个数据集中挑选最近最少使用的key进行删除(LRU淘汰算法)。

参考:Redis性能问题排查解决手册(七)

你可能感兴趣的:(#,redis)