由于之前购买的阿里云服务器1核2GB,续费的话降低了配置改成了一核512m,然后网站就崩溃打不开了,那就把网站放几天假再看。
查看docker mysql没有启动成功,好家伙。。我啥都没动,然后就开始排查原因
查看系统日志/var/log/kern.log 或者dmesg |grep mysql
发现mysql一直导致oom,被无限杀,此时我的服务器后台完全卡的动不了
1、于是先给服务器配置了swap分区:参考资料 https://wiki.archlinux.org/title/Swap
顺带清理缓存
echo 1 > /proc/sys/vm/drop_caches <---清理pagecache,对应/proc/meminfo里面的cached echo 2 > /proc/sys/vm/drop_caches <---清理释放dentries和inodes echo 3 > /proc/sys/vm/drop_caches <---清理所有的缓存
2、docker清理缓存
把docker-compose所有的服务停了
常见docker清理方法
docker system df 类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system prune 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
docker system prune -a 清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker
df -h 查看磁盘使用情况
docker system df 磁盘使用情况
docker container prune # 删除所有退出状态的容器
docker volume prune # 删除未被使用的数据卷
docker image prune # 删除 dangling 或所有未被使用的镜像
docker volume rm $(docker volume ls -qf dangling=true)
删除所有dangling数据卷(即无用的Volume)
du -hs /var/lib/docker/ 查看docker镜像存放目录空间大小
3、mysql配置文件优化
然后docker-compose启动服务,全部服务启动成功
docker stats各项指标也是正常的,大功告成,可以睡觉了~
参考链接:https://github.com/docker-library/mysql/issues/3
https://www.jb51.net/article/234761.htm
http://www.tocker.ca/2013/09/10/improving-mysqls-default-configuration.html
https://www.jb51.net/article/234761.htm
本文为Davidvivi原创文章,转载无需和我联系,但请注明来自Davidvivi博客weixia.xin 本人微信:ww646904527,备注博客