通过redis-rdb-tools分析redis内存使用量

通过redis-rdb-tools分析redis内存使用量

背景:生产上一台redis服务器,物理内存32G,几个项目都在用,经常不足一月内存就会耗尽,然后开始使用swap,当swap也用尽的时候,系统就宕机。redis配置也优化过几次,但未见成效。因此决定看看redis里存放数据占用内存大小,看看有没有异常数据。

一、安装redis-rdb-tools工具

# wget https://github.com/sripathikrishnan/redis-rdb-tools/archive/master.zip
# unzip master
# cd redis-rdb-tools-master/
# python setup.py install

 

二、生成dump.rdb文件成生内存报告

生成CSV格式的内存报告。包含的列有:数据库ID,数据类型,key,内存使用量(byte),编码。内存使用量包含key、value和其他值。
注意:内存使用量是近似的。在一般情况下,略低于实际值。
可以根据key或数据库ID或数据类型对报告的内容进行过滤。

# rdb -c memory ./dump.rdb > redis_memory_report.csv

# sort -t, -k4nr redis_memory_report.csv | more

 

将分析结果提交给开发人员确认,后查出这些数据类型为list的key原本打算做队列使用,但实际情况是只进不出。list长度越来越大,占用内存越来多。

删除几个占用内存较大的key,发现内存已释放了一部分:

转载于:https://my.oschina.net/suventop/blog/749086

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值