排查Redis中Key的内存占用(使用redis-rdb-tools工具)
操作系统:Centos7
1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python:
(1)安装libffi-devel:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
(2)下载python安装包(https://www.python.org/ftp/python/)
wget -P /tmp https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
(3)解压
mkdir -p /opt/python3
tar -zxvf /tmp/Python-3.7.3.tgz -C /opt/python3
(4)编译
mkdir /usr/local/python3
cd /opt/python3/Python-3.7.3
./configure --prefix=/usr/local/python3
make && make install
(5)建立软连接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
(6)测试(Ctrl+D推出)
python3
python -V
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文件(先找到dump.rdb文件目录)
(1)将rdb文件转成csv文件
rdb -c memory dump.rdb > memory.csv
(2)导出内存字节排名前3的keys
rdb --command memory --largest 3 dump.rdb