GreatSQL社区

搜索

[已解决] MGR内存泄漏

1275 13 2022-9-16 08:59
mysql 8.22 社区版MGR ,单主模式,3个节点
物理内存250G,buffer_pool_size 160G

内存有规律的上升,每天8点左右开始,这期间有大量的truncate和insert操作,内存上升后不会下降

图片是内存free 20天的下降图

QQ图片20220916085717.png

全部回复(13)
yejr 2022-9-16 09:08:55
提供的有效信息太少了,可以先试着参考这篇文章的方法排查下 https://mp.weixin.qq.com/s/fLSg74hsin5Ke_oIbFzcyA?forceh5=1
whl 2022-9-16 09:31:01
yejr 发表于 2022-9-16 09:08
提供的有效信息太少了,可以先试着参考这篇文章的方法排查下 https://mp.weixin.qq.com/s/fLSg74hsin5Ke_oI ...

| event_name                           | SUM_NUMBER_OF_BYTES_ALLOC |
+--------------------------------------+---------------------------+
| memory/sql/thd::main_mem_root        |            54568542054568 |
| memory/innodb/memory                 |            15417625381008 |
| memory/mysys/IO_CACHE                |             8369781948717 |
| memory/sql/String::value             |             6756252872520 |
| memory/mysqld_openssl/openssl_malloc |             2863206219298 |
| memory/sql/Row_data_memory::memory   |             2773648818866 |
| memory/sql/QUICK_RANGE_SELECT::alloc |             1946417526992 |
| memory/sql/test_quick_select         |             1807490067447 |
| memory/temptable/physical_ram        |             1783641407488 |
| memory/sql/dd::String_type           |             1152711217889 |
+--------------------------------------+---------------------------+

+-------------------------------------+---------------------------+
| event_name                          | SUM_NUMBER_OF_BYTES_ALLOC |
+-------------------------------------+---------------------------+
| memory/innodb/memory                |             1935722160832 |
| memory/innodb/memory                |              385367474320 |
| memory/innodb/memory                |              375630501672 |
| memory/innodb/memory                |              205367364304 |
| memory/sql/Log_event                |              105803950764 |
| memory/innodb/memory                |              100870183984 |
| memory/sql/Sid_map::Node            |               38339059096 |
| memory/sql/Gtid_set::Interval_chunk |               34869508344 |
| memory/innodb/memory                |               31340182568 |
| memory/sql/Sid_map::Node            |               18132289968 |
| memory/innodb/btr0sea               |               17559875544 |
| memory/innodb/rem0rec               |               12632531858 |
| memory/innodb/btr0sea               |                3181547568 |
| memory/innodb/btr0pcur              |                2812761212 |
| memory/innodb/rem0rec               |                2020995687 |
| memory/innodb/btr0sea               |                1855721200 |
| memory/innodb/eval0eval             |                1465182873 |
| memory/innodb/rem0rec               |                1399025959 |
| memory/sql/String::value            |                1373462840 |
| memory/sql/MYSQL_LOCK               |                1098020024 |
+-------------------------------------+---------------------------+

排查不出其它问题,请指教
whl 2022-9-16 09:33:32
yejr 发表于 2022-9-16 09:08
提供的有效信息太少了,可以先试着参考这篇文章的方法排查下 https://mp.weixin.qq.com/s/fLSg74hsin5Ke_oI ...

让研发修改了,truncate和insert的任务时间后,内存下降问题,跟随着他们的任务也推迟了,大量trucnate和insert会导致内存问题?
yejr 2022-9-16 11:22:12
whl 发表于 2022-9-16 09:33
让研发修改了,truncate和insert的任务时间后,内存下降问题,跟随着他们的任务也推迟了,大量trucnate和 ...

大SQL、大事务需要更多内存是肯定的
yejr 2022-9-16 11:27:38
yejr 发表于 2022-9-16 11:22
大SQL、大事务需要更多内存是肯定的

对linux下的很多进程来说,已申请的内存,用完后不会立即释放,而是先放在共享内存中,有必要时再归还给操作系统重新分配。
具体到你的情况中来,建议减少大SQL、大事务的使用,尤其是在MGR里,每个事务都要往各个节点广播一次,消耗的内存会更多。
whl 2022-9-16 11:34:35
yejr 发表于 2022-9-16 11:27
对linux下的很多进程来说,已申请的内存,用完后不会立即释放,而是先放在共享内存中,有必要时再归还给 ...

这里的大事务,是只insert操作了,insert每次只插入5千以内的数据,提交一次,这个还需要建议研发在减少每次插入的数据量吗,这个内存,一直不释放,怎么处理,一直在下降,有没有办法释放掉,现在mysql占用了198G的内存
donghy 2022-9-16 11:35:12
whl 2022-9-16 11:37:41
yejr 发表于 2022-9-16 11:27
对linux下的很多进程来说,已申请的内存,用完后不会立即释放,而是先放在共享内存中,有必要时再归还给 ...

表的数据量并不大,4百万左右
whl 2022-9-16 12:02:36
donghy 发表于 2022-9-16 11:35
之前分析的一个案例:
https://mp.weixin.qq.com/s/Emjy42wFFZoGlmpNwcSnsw

现在如果要使用 jemalloc内存管理,必须安装后,重启mysql吧
12下一页
whl

1

主题

0

博客

8

贡献

新手上路

Rank: 1

积分
15

2022年度博学人物

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-5 23:12 , Processed in 0.022854 second(s), 22 queries , Redis On.
快速回复 返回顶部 返回列表