系统工具 · 2023年11月23日 0

Redis内存分析bigkeys工具

背景

由于频繁收到redis内存使用率过高的告警消息,因此想找一个能分析出是哪些keys占用内存过多的工具,辅助清理。

选择工具过程

通过google搜索,尝试过以下工具,都不太满意。

  • Redis Memory Analyzer:使用Scanner模式不知道为啥没有输出结果
  • Rdbtools:rdb文件过大的时候,分析耗时太久
  • Redis Toolkit:过于复杂了
  • Redis Inventory:输出异常,貌似不适用集群模式

注意:redis-cli –bigkeys命令输出信息太少了,经验证,输出的bigkeys并不是较大的。

最终选择 rdb-tools

安装简单,输出友好,分析一个6g的rdb文件,耗时三分多钟,比Rdbtools快很多

# 下载
wget https://github.com/catcherwong/rdb-tools/releases/download/0.8.0/rdb-cli.0.8.0.linux-x64.zip

# 解压
tar zxvf rdb-cli.0.8.0.linux-x64.zip

# 执行,-tb参数最大值是200
./rdb-cli memory /tmp/demo.rdb -ot html -tb 200

# 执行完之后,默认当前目录会有res.html文件,打开此文件就能看到分析结果了。另外还可以指定保存路径,命令如下
./rdb-cli memory /tmp/demo.rdb -ot html -tb 200 -o /tmp