mysql数据库内存使用率持续增长不释放解决方案

一 问题
mysql数据库内存持续增长至90%以上,且不释放。最终导致mysqld进程oom。
二 解决方案
优化参数innodb_buffer_pool_size
限定mysql参数innodb_buffer_pool_size不超过mysql数据库服务器物理内存的40%
优化session级buffer参数值
read_buffer_size = 4M
read_rnd_buffer_size = 4M
sort_buffer_size = 4M
join_buffer_size = 4M
tmp_table_size = 32M
max_heap_table_size = 32M
优化参数key_buffer_size
检查mysql数据库MyISAM引擎,key_buffer_size只对MyISAM表起作用。
show engines;
优化参数key_buffer_size的值
key_buffer_size = 16M
内存碎片回收
调用glibc申请的内存使用完毕后,归还给OS时没有被正常回收变成了碎片。随着碎片的不断增长,就能看到mysqld进程占用的内存不断上升。这时候可以调用函数主动回收释放这些碎片。
[root@mysql#] top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
49117 mysql 20 0 28.4g
mysql数据库内存使用率持续增长不释放解决方案
一 问题mysql数据库内存持续增长至90%以上,且不释放。最终导致mysqld进程oom。二 解决方案优化参数innodb_buffer_pool_size限定mysql参...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



