go-redis-memory-analysisGo 实现的 Redis 内存分析工具
这是一个 Go 语言实现的 Redis 内存分析工具:用于找出占用内存较多的 Key,将结果导出至 csv 文件。
示例代码
通过直接连接到 redis 来分析 key
analysis := NewAnalysis() //Open redis: 127.0.0.1:6379 without password err := analysis.Open("127.0.0.1", 6379, "") defer analysis.Close() if err != nil { fmt.Println("something wrong:", err) return } //Scan the keys which can be split by '#' ':' //Special pattern characters need to escape by '\' analysis.Start([]string{"#", ":"}) //Find the csv file in default target folder: ./reports //CSV file name format: redis-analysis-{host:port}-{db}.csv //The keys order by count desc err = analysis.SaveReports("./reports") if err == nil { fmt.Println("done") } else { fmt.Println("error:", err) }
通过 redis RDB 文件分析 key,但无法计算出 key 的大小
analysis := NewAnalysis() //Open redis rdb file: ./6379_dump.rdb err := analysis.OpenRDB("./6379_dump.rdb") defer analysis.CloseRDB() if err != nil { fmt.Println("something wrong:", err) return } //Scan the keys which can be split by '#' ':' //Special pattern characters need to escape by '\' analysis.StartRDB([]string{"#", ":"}) //Find the csv file in default target folder: ./reports //CSV file name format: redis-analysis-{host:port}-{db}.csv //The keys order by count desc err = analysis.SaveReports("./reports") if err == nil { fmt.Println("done") } else { fmt.Println("error:", err) }
Demo
评论
dotMemory.NET 内存分析工具
dotMemory是一个.NET的内存分析工具,可以帮助你优化.NET应用的内存使用,找出内存泄漏和其他的内存使用问题。
dotMemory.NET 内存分析工具
0
bytehoundLinux 内存分析工具
Bytehound是Linux的内存分析工具。它能够显示内存变化曲线、占用详情、完整的堆栈记录等信息,有助于解决内存泄漏等问题。详细功能如下:可用于分析内存泄漏,精确地查看内存消耗的地方,识别临时分配
bytehoundLinux 内存分析工具
0
Heappie内存分析工具
Heappie是一款面向漏洞利用程序编写的内存分析工具,它可以辅助漏洞研究人员可视化跟踪heapspray的内存状态。另外,它还可以记录多个内存状态,并将这些状态放在一起比较分析,可以非常容易的发现不
Heappie内存分析工具
0