Redis内存分析工具redis-rdb-tools
一、安装redis-rdb-tools(项目地址:github)
# git clone https://github.com/sripathikrishnan/redis-rdb-tools
# cd redis-rdb-tools
# python setup.py install (当前用户要有安装权限)
# yum install python-devel ; pip install python-lzf
二、获取redis的rdb文件
1、确保redis的配置文件(redis.conf)开启rdb备份
2、找到dump.rdb文件
三、利用redis-rdb-tools对rdb文件解析成CSV文件(生成一个result.csv),命令:
# rdb -c memory dump.rdb > result.csv
四、根据不同条件进行查询--详见github上的 README.md
查询某个db的某个key的大小:
# redis-memory-for-key -s localhost -p 6379 -a mypassword -d 15 keyname
查询大小超过128字节的Key:
# rdb -c memory /var/redis/6379/dump.rdb --bytes 128 -f memory.csv
输出Top 10的大Key信息:
# rdb -c memory --largest=10 mydump.rdb
五、有时候key值特别多,可以将CSV文件导入mysql中
1、mysql建表语句
CREATE TABLE `rdb` (
`database` int() DEFAULT NULL,
`type` varchar() DEFAULT NULL,
`key` varchar() DEFAULT NULL,
`size_in_bytes` int() DEFAULT NULL,
`encoding` varchar() DEFAULT NULL,
`num_elements` int() DEFAULT NULL,
`len_largest_element` varchar() DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、利用navicat等mysql客户端将CSV导入到表中,可以很方便进行查看

注意事项:
1、整个rdb文件的解析会导致CPU占用严重,所以慎用!
2、最好选择单键查询的方式,不太消耗资源
3、如果需要解析某个rdb文件,最好使用它的备份文件,或者将文件导出到本地或者测试机进行解析
Redis内存分析工具redis-rdb-tools的更多相关文章
- redis内存分析工具rdbtools
当Redis的内存已经快满的时候,我们能做什么呢? 最直接的方法就是分析一下Redis内存的构成,看是哪些键比较大,或者比较多,然后考虑一下对应的功能能不能优化,例如减少超时时间,例如不必要的数据不用 ...
- Redis内存分析工具—redis-rdb-tools (转载http://www.voidcn.com/article/p-axfdqxmd-bro.html)
redis-rdb-tools是由Python写的用来分析Redis的rdb快照文件用的工具,它可以把rdb快照文件生成json文件或者生成报表用来分析Redis的使用详情.使用标准的diff工具比较 ...
- Redis内存分析工具之redis-rdb-tools的安装与使用
操作系统:Centos7 1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python: 安装: (1)用 wget 下载 python 2.7 并解压( 如果 ...
- 安装Redis内存分析工具rdbtools
一.安装Python2.7 1. wget http://10.12.29.98:8090/tools/Python-2.7.11.tgz 2. ln -s /usr/local/python2.7/ ...
- JS内存泄漏 和Chrome 内存分析工具简介(摘)
原文地址:http://web.jobbole.com/88463/ JavaScript 中 4 种常见的内存泄露陷阱 原文:Sebastián Peyrott 译文:伯乐在线专栏作者 - AR ...
- Android 内存分析工具 MAT(Memory Analyzer Tool)
如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...
- Android内存分析工具DDMS heap + MAT 安装和使用
一 Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲 MAT介绍: Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...
- android--------Eclipse中ddms heap内存分析工具
无 论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方. Android tools中的DDMS就带有一个很不错的内存监测工具Heap ...
- Java内存分析工具MAT
MAT是一个强大的内存分析工具,可以快捷.有效地帮助我们找到内存泄露,减少内存消耗分析工具.内存中堆的使用情况是应用性能监测的重点,而对于堆的快照,可以dump出来进一步分析,总的来说,一般我们对于堆 ...
随机推荐
- 我提出了一个 Lean Html 5 的 概念 和 标准
提出 Lean Html 5 是因为 Html 可以作为 一个 应用程序 开发 的 标准 和 平台, 应用程序 包括 Web 程序 , 本地程序 , 桌面程序 , 嵌入式程序 , 串口通信 等 . L ...
- 如何实现Proxifier只代理部分程序
转载自:https://jingyan.baidu.com/article/48b558e35e12f97f38c09a28.html 小编工作时上外网要通过局域网内其他人开代理,然后通过IE代理上网 ...
- Linux之正则表达式2之()、[]、{}区别
正则表达式的() [] {} 有着不同的意思. () 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串 (\s*)表示连续空格的字符串 [] 是定义匹配的字符范围.比如[a-zA-Z ...
- C# .NET MD5 HASH
using System; using System.Security.Cryptography; using System.Text; namespace AAA { /// <summary ...
- excel表格公式无效、不生效的解决方案及常见问题、常用函数
1.表格公式无效.不生效 使用公式时碰到了一个问题,那就是公式明明已经编辑好了,但是在单元格里不生效,直接把公式显示出来了,网上资料说有4种原因,但是我4种都不是,是第5种原因,如下图: 这种情况是由 ...
- css3动画的简单学习
transform常用的属性(2D变化): translate(x,y) 定义 2D 转换. scale(x,y) 定义 2D 缩放转换 rotate(angle) 定义 2D 旋转,在参数中规定角度 ...
- 报错:Failed on local exception: Host Details : local host is: "master/192.168.52.26"; dest
报错现象 Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message ...
- 分布式job-任务调度(一)
什么是任务调度: 任务调度:在单位时间内,去调用某个方法或者执行某段代码 java实现方式: 方法一(使用线程实现): public static void ThreadTskScheduling() ...
- Sql更新
//要传一个DataSet,和若干个表 /// <summary> /// 更新数据库 /// </summary> /// <param name="data ...
- TensorFlow的介绍和安装
TensorFlow概要 由google Brain开源,设计初衷是加速机器学习的研究,2015年11月在GitHub上开源,2016年4月分布式版本,2017年发布了1.0版本,趋于稳定. Tens ...