首页 技术 正文
技术 2022年11月16日
1 收藏 910 点赞 4,380 浏览 886 个字

简介

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

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

1.排查原因

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

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

2.解决

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

  • 1)进入到容器里修改mysql的配置文件,限制mysql容器的内容占用大小
  • 2)增大服务器的swap
  • 3)也可以在容器启动的时候增加限制内存的参数--innodb-buffer-pool-size=64M,详细百度

结合查询了其他资料,决定使用第一种解决方案。(增大swap治标不治本,而且增大swap是对系统而言的,swap不建议增大太多,扫描类的服务如果不限制容器的内存很容易爆)
过程中主要参数该文章解决原文

步骤如下:

  • 1.docker ps
    docker容器内存占用过高(例如mysql)

  • 2.docker exec -it id bash
    docker容器内存占用过高(例如mysql)

  • 3.进入/etc/mysql/conf.d目录后,vim docker.cnf文件
    首先需要安装vim
    apt-get update apt-get install vim
    然后vim docker.cnf,编辑后保存退出
    docker容器内存占用过高(例如mysql)
    最后exit退出容器后,然后docker-compose restart即可
    docker容器内存占用过高(例如mysql)

3.优化前后内存占用对比

优化前

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

优化后,对比还是比较明显的

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

4.附:

  • docker容器占用资源查看指令:docker stats
    docker容器内存占用过高(例如mysql)

  • 服务器内存资源情况查看:free -m/-g/-k #-m/-g/-k是指查看的单位

  • 为什么调整内核用内存,尽量不用swap的参考

  • 网友们的讨论
    docker容器内存占用过高(例如mysql)
    docker容器内存占用过高(例如mysql)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848