在线降低mysql的内存使用率

mysql mgr两节点的内存占用率超过75%,监控要求降低到75%以下

其实如果物理内存足够,swap没有被使用,那么使用更多内存是充分利用资源。
耐不住用户规定要求,那就调小内存吧。

需修改三个地方,注意顺序,不重启mysql数据库即可释放内存:

1.原先分配了70G,动态修改成20G

mysql> SET GLOBAL innodb_buffer_pool_size = 21474836480;
mysgl> show variables like ‘innodb_buffer_pool_size’;

2.修改/etc/my.cnf静态参数,将来重启后永久生效

3.修改大页分配/etc/sysctl.conf

调整后的效果:
在线降低mysql的内存使用率-每日运维
[root@ ~]# cat /proc/meminfo |grep Hu
AnonHugePages: 4096 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 11776
HugePages_Free: 1216
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 24117248 kB

[root@ ~]# free -g
total used free shared buff/cache available
Mem: 125 35 47 1 41 87
Swap: 31 0 31