tidb-v5.2.3 内存使用率高的几个 case
作者: TiDBer_guanguanglei 原文来源:https://tidb.net/blog/cbbac8b1
tidb 版本 5.2.3
布置方式云主机
当 TiDB 发生内存使用率高发生 omm 的时候大部分时候是慢 sql 导致这时候可以根据慢查询定为 sql 后进行优化,当 tidb 内存使用率很高却不 omm 而且有一些慢 sql 的时候怎么分析,个人建议使用 go 的 pprof 工具进行分析。
case 1
tidb 内存使用率高,测试中经常出现 omm 优化 sql 后效果不明显
工具流程如下:
-- 获取 debug 信息 curl http://127.0.0.1:10080/debug/zip –output tidb_debug.zip
unzip tidb_debug.zip-- 解压后文件中 heap 是内存堆栈的分析[tidb\@db1 ]$ lltotal 712-rw-rw-r– 1 tidb tidb 4844 Dec 31 1979 config-rw-rw-r– 1 tidb tidb 372768 Dec 31 1979 goroutine-rw-rw-r– 1 tidb tidb 284367 Dec 31 1979 heap-rw-rw-r– 1 tidb tidb 13176 Dec 31 1979 mutex-rw-rw-r– 1 tidb tidb 34916 Dec 31 1979 profile-rw-rw-r– 1 tidb tidb 308 Dec 31 1979 version-- 可以在 windows 打印成 html 查看 go tool pprof -http :8081 heap
图片中占用内存最多的为 hhtp,经确认为 bug https://github.com/pingcap/tidb/pull/30970, 因为业务特殊每个 database 中有上万张表每张表有三百多个字段导致 dashboard 收集流量信息的时候占用内存太多,临时解决办法关闭 dashboard 流量图。
case 2
tidb_analyze_version=2 的实验特性导致内存使用率高 tidb 发生 oom,解决办法 tidb_analyze_version=1
case 3
看名字知道跟慢日志有关这个是已知问题,https://github.com/pingcap/tidb/issues/32656
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/42f7d1df985ae2275e6fa51d2】。文章转载请联系作者。
评论