tidb执行sql完成后内存能手动释放吗?我这边发现内存不会立即释放,后续执行sql可能会导致内存占用越来越高,最后导致被系统杀掉。

截图的版本是5.1.1就是占用内存太高了被系统杀掉进程重启,这两天升级了版本到7.1配置了内存限制,但是发现内存回收太慢了。导致很多查询被tidb杀掉没有返回结果,这种扩容tidb节点会有明显提升吗?

很怀疑你是 SQL 本身的问题,而不是 SQL 执行完内存还不释放问题 :joy_cat:

GC自动释放,只不过会比较慢
紧急的话那就是重启大法!

问题在于你的sql占用内存大小,如果真的需要很多,可能只能加物理内存了

关闭下 tidb_enable_gogc_tuner

系统会通过GC自动释放所占用的内存,建议重点优化一下SQL

gc会定时释放

执行结束会慢慢释放的。如果还在上涨,可以看看是不是有其他占用内存量比较大SQL

内存释放是要时间,或许可以自动操作

这两个参数看一下 tidb_server_memory_limittidb_server_memory_limit_gc_trigger