Redis的keys不多但是占用的内存很大

Redis的keys不多但是占用的内存很大_第1张图片接到告警,

线上日志看了下
Redis的keys不多但是占用的内存很大_第2张图片全是类似的报错。不间断的。很难受…
查看了数分钟无解,我们是有备用库的,直接改了下代码使用了备用库发上线使用。窘态暂时缓解了。

登录主节点查看内存使用了24G,我们这边设置的最大内存就是24G。
Redis的keys不多但是占用的内存很大_第3张图片
但是从节点,这区别也太大了
Redis的keys不多但是占用的内存很大_第4张图片

这种问题最后无非就是 过期策略什么没有配置好了。
Redis的keys不多但是占用的内存很大_第5张图片

然后找找啊。。。。。。上面说的是屁话。
我后来想了想不可能那么一点key就占用了我24G内存。
后来翻看一个博客看到了我这种类似的情况。

原贴:https://blog.csdn.net/shudaqi2010/article/details/50867787
Redis的keys不多但是占用的内存很大_第6张图片

=================================================================================================

看到上面的博客后 我执行下面命令。
Redis的keys不多但是占用的内存很大_第7张图片
可以看到 cmd=monitor有几个客户端在执行,而且omem的总和估算了一下 大概就是 20+G。根源就在这里了。
执行机器在172.25.164.92这台机器上。
事到如今我终于想起来了,之前在github上下载了个开源的 redis监控的东西。

https://github.com/nkrode/RedisLive 根据他这个的介绍我当时还开启了 crontab任务定时调度。其实他就是执行 redis的monitor命令。

看这个:http://www.cnblogs.com/yinliang/p/7498529.html

然后我把这个监控的插件kill掉后 立马内存释放了。呵呵呵呵

你可能感兴趣的:(redis)