操作系统:Centos7
1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python:
安装:
(1)用 wget 下载 python 2.7 并解压( 如果没有 wget,先用下面命令安装 wget )
yum -y install wget
(2)进入目录 /usr/src 再用 wget 下载 python 2.7
cd /usr/src/
wget http://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
(3)再解压 python2.7
tar -zxvf Python-2.7.15.tgz
(4)安装 python 2.7
进入上面解压的 Python-2.7.15 解压文件中使用下面命令行安装
cd Python-2.7.15
./configure --enable-optimizations
make altinstall
(5)查看Python版本
python -V
可以看到输出 Python 2.7.15 就安装完成
2.使用pip安装rdb-tools
(1)安装依赖
sudo yum install python3-devel
(2)安装python-lzf
sudo pip3 install python-lzf
(3)安装rdbtools
sudo pip3 install rdbtools
3.使用rdb-tools工具分析rdb文件
(1)将rdb文件转成csv文件 (/mnt/data/redis 是存放redis持久化文件的路径)
rdb -c memory /mnt/data/redis/dump.rdb > /mnt/data/redis/memory.csv
可以看到,用工具转化成csv文件后,会划分成8个列,分别是:
database:数据库编号
type:数据类型
key:键
size_in_bytes:使用的内存:包括键,值和任何其他开销
encoding:RDB编码类型
num_elements:key中的value的个数
len_largest_element:key中的value的长度
expiry:过期值
(2)将rdb文件转成json文件
rdb -c json /mnt/data/redis/dump.rdb > /mnt/data/redis/du.json
(3)查找特定键使用的内存
redis-memory-for-key -s IP -p 6379 Key
可以看出特定的key的大小、类型
(5)查看指定数据库中的key:value
rdb -c justkeyvals dump.rdb -n 0 //查看0号数据库中的key
(6)查看通过正则表达式匹配的key:value
rdb --command justkeyvals --key ".*key*" dump.rdb //不要漏掉点 “."
(7) 导出内存字节排名前3的keys:
rdb --command memory --largest 3 dump.rdb
(8)导出字节大于128的key:
rdb --command memory --bytes 128 dump.rdb
(9)导出rdb中的keys:
rdb -c justkeys dump.rdb|uniq
(10)导出rdb中的values:
rdb -c justkeyvals dump.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
一.安装redis-rdb-tools(项目地址:github) # git clone https://github.com/sripathikrishnan/redis-rdb-tools# cd ...
-
安装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/ ...
-
内存分析工具MAT(Memory Analyzer Tool)从安装到使用
一.安装 首先,你得有一个Eclipse(因为MAT是Eclipse的插件) 然后,你要在Eclipse上安装MAT,步骤如下: 1.点击Help,Install New Soft,就出现了以下Ins ...
-
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 ...
随机推荐
-
centos 6.5 apache配置web应用&;防火墙设置(入门级)
硬件:centos 6.5 服务器 , Dell R420 , 两个网口,一个给公网,一个给内网. 软件:apache 2.2 配置了virtualhost以后,用curl在本地可以访问.但是其他机器 ...
-
Eddy's problem partI
Eddy's mistakes[HDU1161] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
-
NSURLSession -- 实际开发中运用
NSURLSession实际请求 iOS9使用http请求方法: 在工程info.plist文件内添加NSAppTransportSecurity键,类型为dictionary 在NSAppTrans ...
-
js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年
1:在jsp或者HTML页面中新建一个下拉框 年度:<select id="cx_nd" name="cx_nd" style="width: ...
-
JavaFX引入资源问题
描述 - 使用javafx 引入资源的时候 抛出异常 在swing引入资源 采取相对路径即可,而javafx不是 ImageView imageNode = (ImageView) root.look ...
-
【JavaScript的五种基本数据类型及转换】
js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型就是特殊的(Object). "undefined& ...
-
【BZOJ5317】[JSOI2018]部落战争(凸包,闵可夫斯基和)
[BZOJ5317][JSOI2018]部落战争(凸包,闵可夫斯基和) 题面 BZOJ 洛谷 题解 很明显我们只需要两个凸包\(A,B\). 假设询问给定的方向向量是\(v\). 那么现在就是判断\( ...
-
15.1-uC/OS-III资源管理(锁调度器)
1.大部分独占资源的方法都是创建临界段:1) 关中断方式2) 锁调度器方式3) 信号量方式4) mutex方式 2.独占共享资源的最快和最简单方法是关中断 然而,关/开中断是和CPU相关的操作,其相关 ...
-
TERADATA数据库操作
1.创建一个数据库的命令举例: ,spool; 注释:该命令创建了一个测试数据库testbase,其永久表空间为200mb,spool空间不能超过100mb.在teradata数据库系统的缺省方式下, ...
-
python包/模块路径
当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块.可以通过sys.path查看这些路径,比如: >>> import sys >>&g ...