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

news/2024/11/25 17:40:40/

简介

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

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

1.排查原因

docker-compose logs

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

9d599a15148177cac7c00ccecd5a8fb1.png

2.解决

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

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

2)增大服务器的swap

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

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

过程中主要参数该文章解决原文

步骤如下:

1.docker ps

17a83fced2900496da158891e9a38972.png

2.docker exec -it id bash

3d47be16b9a47faab849eaff38fbb73f.png

3.进入/etc/mysql/conf.d目录后,vim docker.cnf文件

首先需要安装vim

apt-get update apt-get install vim

然后vim docker.cnf,编辑后保存退出

bfafffe57e59a96d9deb3cf975482552.png

最后exit退出容器后,然后docker-compose restart即可

a98be34b82d3a1c8b0feaf7731fb6141.png

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

优化前

8b22b4e17f8c45464e7932625e9bdc5c.png

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

6416a5dda9668f7ac380c0c5a683c4cd.png

4.附:

docker容器占用资源查看指令:docker stats

78d769c7964ada7539c6a6af3bf1a589.png

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

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

网友们的讨论

cd36a5d68706f997ec5eef19fba29cd3.png

629403c90fd566f708003a5ed3e68274.png


http://www.ppmy.cn/news/164022.html

相关文章

苹果运行内存比较_iPhone手机的内存,为什么这几年一直没有像安卓这样升级

iPhone12系列刚刚发布,手机还没有到用户手中,关于下一代iPhone13的消息初见端倪,不过大部分消息都是捕风捉影,很难有事实依据作为支撑。也有一些消息可靠性比较高,比如苹果依旧没有放弃Touch ID相关研究,有可能在下一代回归。 iPhone 5s,运行内存1G,同时期安卓2G(2013)…

剪贴板占用计算机的内存,电脑提示内存不足该怎么办呢

电脑的内存最近疯狂涨价,下面就是小编为您收集整理的电脑提示内存不足该怎么办呢的相关文章,希望可以帮到您,如果你觉得不错的话可以分享给更多小伙伴哦! 电脑提示内存不足该怎么办 一、打开的程序太多 如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他…

oracle 不释放内存,内存不释放?解决方法

内存不释放??? 本帖最后由 afeideweixiao 于 2012-04-24 11:49:50 编辑 各位好!请教个问题,我不断地往oracle里插入数据,oracle会出现内存不断飙升,o只到电脑内存不足而挂掉。 系统为WINDOWS 20…

2023,智能硬件的AIGC“又一春”

​ 文|智能相对论 作者|佘凯文 消费电子产品风光不再,特别是自去年以来,电子消费市场经历了一整年的寒潮袭击,智能手机等产品达到10年消费谷底,PC出货量整体下降16%,不仅如此,包括平板、可穿戴设备也一改…

MYSQL内存请求一直不释放_MySQL内存不释放

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 连接了一下,并进行了一次查询操作 (root:NJ-245:Thu Apr 24 16:38:38 2014)[information_schema] select count(*) from CLIENT_STATISTICS; ---- | count(*) | ---- | 5 | ---- 1 row i 欢…

oracle数据库启动时内存狂涨,ORACLE 调整数据库内存

如何才能优化oracle的内存占用情况呢?为了开发的方便,想减少oracle平时占用的内存。下面就为您介绍一个通过调整oracle内存参数实现减少内存占用的方法,供您参考学习。 解决方法: sqlplus “/ as sysdba" create pfiled:/cj.…

netty4虚拟内存不断飙升内存泄露

目录 前言 解决方案一 编写脚本清空缓存 解决方案二 手动清空ByteBuf 总结 前言 公司的核心业务是由netty4处理的,存在虚拟内存不断飙升的问题。直接表现为netty服务运行几天后会自己宕机,持续观察线上情况,最后得出两个解决方案。 解决…

java 虚拟内存一直涨,win10虚拟内存文件大小突然暴涨是什么原因?震惊了!

以前win10的虚拟内存设置一般都是设置成让系统托管,从来没让****心过,一般页面文件也都是稳定在2个g左右 但就从这两天开始,突然c盘页面文件pagefile.sys开始诡异地激剧增长 试过把所有所有程序都关掉,就放在那里一动不动一整夜 第…