当前位置:首页 > 内存 > 正文

如何查看redis内存使用情况(怎么看redis内存是否已满)

  • 内存
  • 2024-08-17 08:44:02
  • 9346

一、redis重要参数Redis参数
Redis参数可以通过命令“./redis-cli-p6379info”查看,下面仅列出重要参数及相关说明。
"clients:连接的客户端信息,包括以下字段:
"connected_clients":连接的客户端数量
"client_longest_output_list":其中当前连接的客户端中,最长的输出列表
"client_longest_input_buf":连接的客户端中,最大的输入缓冲区
"blocked_clients":等待阻塞的命令
"memory:内存信息,包括以下字段:
"used_memory":Redis分配器分配的内存总量,单位为字节
“used_memory_human”:以可读的格式返回Redis分配的内存总量
“used_memory_rss”:从操作系统的角度返回Redis分配的内存总量
"used_memory_peak":Redis的最大内存消耗(以字节为单位)
"used_memory_peak_human":以可读的格式返回Redis的最大内存消耗
"used_memory_lua":Lua引擎使用的内存大小,以字节为单位
"mem_fragmentation_ratio":"used_memory_rss"和"used_memory"之间的比率
"mem_allocator":使用的内存分配器Redis在编译时指定
二、记一次Redis的内存碎片比过高的解决Redis一个非常重要的性能指标——mem_fragmentation_ratio(内存碎片率)
mem_fragmentation_ratio是通过下面的公式计算出来的
可以直接使用下面的命令查看
可以看到内存碎片率已经达到了4.76,内存碎片率略高于1是正常的,但是当超过1.5时,就说明redis内存管理变差了。
物理环境分析,因为redis主要存储更新频繁的数据,在每次数据更新之前,redis都会删除旧的数据。该内存分配器在编译时指定,可以是libc、jemalloc或tcmalloc。使用的内存会越来越大,使得内存碎片率越来越高