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

redis内存使用情况(如何查看redis内存使用情况)

  • 内存
  • 2024-08-15 20:41:09
  • 9410

一、Redis内存故障诊断及常用运维命令您是否遇到过这样的问题:我的数据量太小,但仍然出现OOM错误?
首先解释一下Redis中有两种类型的OOM
简单介绍一下共享Redis内存消耗,可以让您了解诊断是如何进行的。上图可以总结Redis内存消耗分为以下几个部分:
使用redis-benchmark不断注入数据
创建输入缓冲压力(用于防止篡改、清除数据先按)测试)
压力测试几秒后,触发OOM
检查输入缓冲内存消耗,客户端总输入缓冲消耗约为2.4G远远超出了最大内存参数设置。
您可以运行上面的检查命令来定位每个客户端的输入缓冲区内存消耗(按从大到小的顺序)。
一般情况下,如果出现连接异常,可以使用下面的命令杀死它
为了方便测试,我直接将反向复制缓冲区配置为800M。
启动redis-benchmark压力测试流程
检查后向复制缓冲区的内存消耗情况可以看到,由于缓冲区设置过大,数据量只有190多M和Redis不能写。
客户端输出缓冲区过大如何排查?一般来说,这种场景比较少见,在使用redis监控命令时很常见
先启用监控命令
在上面的排查过程中,我认为一些Redis操作和维护命令比较实用,总结如下
运行脚本的效果: