32.mysql内存占用过高?怎么优化?

前言

自己用的阿里云的服务器,一直内存很高,本来就2g的内存,可用内存才1.7g,SpringBoot服务配置的参数是最大内存521m,通过top -c查看发现是mysql占用内存过高,经过一番优化,内存从1.4g占用稳稳的落在了1g,我的系统顿时流畅了很多。 alt text 我的服务器除了nginx和python等通过包启动的服务外,还安装了一堆docker容器服务: alt text 虽然安装的东西很多,但是系统运行的很流畅。

1.优化的参数介绍:

就是在参数配置文件中my.cnf添加如下参数:

[mysqld]
performance_schema_max_table_instances=400  
table_definition_cache=400  
table_open_cache=256
performance_schema = off

其中的原理就是缓存的设置参数尽量的合理,一次性查询的table量设置等,看网上的其他网友说的只设置一个参数:

performance_schema = off

也可以解决问题,达到优化的目的。 这个我就不测试了,感兴趣的可以进行下测试的,我的目的是优化我的mysql占用服务器内存,已经达到。

2.docker中怎么操作:

因为我的mysql是通过docker进行部署的,所以没办法直接进行vim进行修改。

2.1 进入mysql容器
docker exec -it mysql bash

如果你的mysql容器不支持vim,进行以下操作命令安装:

 apt-get update
 apt-get install vim 
2.2 备份my.cnf文件:
docker cp 容器id:/绝对路径/my.cnf ./

防止以为创建一个文件夹进行拷贝到back文件夹以防参数配置错误导致不能启动

2.3 修改my.cnf文件进行拷贝覆盖:
docker cp  /绝对路径/my.cnf 容器id:/绝对路径/my.cnf 
2.4 查看内存:
free -h

总结

上面的步骤就完成了mysql的优化过程,内存顿时被释放了大概400m,太完美了,对于个人服务器内存本来就不够用的我来说,真的是非常的不错。如果你也在头疼mysql内存占用过大,赶紧优化吧。加我的公众号:Java时间屋 跟我进行更多的交流。

本文由 mdnice 多平台发布

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值