【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.5.0
【遇到的问题:问题现象及影响】
正常使用中,开启altermanager后收到报警,发现内存200G很久了。tidb-server火焰图显示ParseSQL就占了50GB+。
设置tidb_server_memory_limit=150G,内存没有下降。
随后拉出该节点的所有流量,processlist清空,但是内存还没有下降。
【附件:截图/日志/监控】
【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.5.0
【遇到的问题:问题现象及影响】
正常使用中,开启altermanager后收到报警,发现内存200G很久了。tidb-server火焰图显示ParseSQL就占了50GB+。
设置tidb_server_memory_limit=150G,内存没有下降。
随后拉出该节点的所有流量,processlist清空,但是内存还没有下降。
【附件:截图/日志/监控】
改为产品缺陷反馈了。 感觉是内存溢出没释放。。。着急的话 感觉可以重启一下。。。。
7.5还有这个问题呀
内存重启是可以解决,我们觉得这个场景比较珍贵,保留了现场,还没重启。
[2024/05/31 11:48:43.102 +08:00] [WARN] [servermemorylimit.go:179] [“global memory controller tries to kill the top1 memory consumer, but no one larger than tidb_server_memory_limit_sess_min_size is found”] [tidb_server_memory_limit_sess_min_size=134217728]
该tidb节点目前已经无业务了,CPU还是很高,CPU消耗也在gc线程中。
造了个场景(先把tidb_server_memory_limit_sess_min_size设置足够小,然后执行一个大查询),让代码执行到runtime.gc,但内存也没释放。
tiflash和tidb放一起啊,做了numa隔离?
建议直接把 tidb_enable_historical_stats
关闭,这个功能现在存在问题,master 上已经默认关闭了
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。