各位老师好,有如下问题需要请教。 问题描述: 主机:256GB内存 单机多实例部署的mysql,单机大概有25个mysql实例,每个实例buffer pool配置2GB。 目前有一个mysql实例占用内存一直不释放(挺长时间了),并且 一直有缓慢增长的趋势。 top信息如下: cat /proc/../status如下: 数据库全局内存配置如下: 线程级别的内存配置如下: performance_schema占用内存如下: show engine performance_schema status; | performance_schema | performance_schema.memory | 507107512 | 数据库连接信息描述如下: 数据库连接中包含大量的Sleep线程,在860个左右(上下浮动不超过3个)。wait_timeout设置的半分钟。 问题: ① mysql占用内存不释放,并且缓慢增长,这种现象是不是内存泄漏? ② 产生这种现象的原因可能是什么?和大量的sleep连接未释放有没有联系?该怎么排查? ③ 线程级别的内存,是只要有连接就会分配,还是使用到的时候再去分配呢?用完了是否会主动释放呢(在Sleep状态下)? ④ 该此类问题有什么解决办法吗? |
四马路刚子
2022-12-19 15:40:18
| ||
李努力
2022-12-19 16:03:13
| ||
四马路刚子
2022-12-19 16:26:32
| ||
李努力
2022-12-19 16:37:28
| ||
xryz
2022-12-21 16:46:32
| ||
土豆娃娃呀
2022-12-21 18:05:57
| ||
李努力
2022-12-21 19:06:23
| ||
李努力
2022-12-21 19:06:51
| ||
土豆娃娃呀
2022-12-22 09:58:36
| ||
合作电话:010-64087828
社区邮箱:greatsql@greatdb.com