Mysql容器内存_docker容器内存占用过高(例如mysql)

本文记录了在1G内存服务器上,由于MySQL Docker容器内存占用过高导致服务崩溃的问题及其解决过程。通过`docker-compose logs`定位问题,然后选择进入容器修改配置文件限制MySQL内存使用,具体步骤包括安装vim,编辑`docker.cnf`,并重启容器。调整后,内存占用明显降低。使用`docker stats`和`free`命令检查容器及服务器内存状态。
摘要由CSDN通过智能技术生成

简介

该文章适用于配置低,特别是内存低的服务器,在用容器部署服务时有可能会因为容器占用内存过高导致服务挂掉时参考解决(不是运行在容器里的话,也是可以修改mysql的配置文件限制内存占用)

最近用docker部署了个系统,服务器配置是1G的内存,跑了两个容器,一个wbe服务,一个是mysql,使用的过程中发现服务经常挂,一开始因为运行的服务不太重要并且没时间处理就没太在意,每次挂了我就上传restart重启一下镜像。后面找了个时间排查了问题,查看了下docker-compose的日志,发现是因为运行的mysql容器占用内存过高导致的,在此记录下解决过程。

1.排查原因

docker-compose logs

从第1和第2条的error发现是因为mysql容器占用的内存过高,导致mysql挂了(shutdown)

20200103145220767t6s4bobtssx73bq_8.png

2.解决

上网搜了一下,针对该问题一般的解决方法一般都是

1)进入到容器里修改mysql的配置文件,限制mysql容器的内容占用大小

2)增大服务器的swap

3)也可以在容器启动的时候增加限制内存的参数--innodb-buffer-pool-size=64M,详细百度

结合查询了其他资料,决定使用第一种解决方案。(增大swap治标不治本,而且增大swap是对系统而言的,swap不建议

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值