记录服务器内存爆炸


最近在准备全栈项目,本想拿以前的项目练练手,一测试,发现有bug。遂修改代码,推到远程仓库,登录服务器,拉代码时,报错,说error: unable to create temporary file: No space left on device,意思是说「无法创建临时文件:设备上没有剩余空间」
纳尼~~
我的小服务器上都没挂什么服务啊,为什么会没内存了
不管怎么样,先查一下
有人也遇到这样的问题:解决Linux出现“cannot create temp file for here-document: No space left on device”的问题
解决方案:
1、df -h 查看硬盘空间
2、top 查看cpu及内存
3、du -h –max-depth=1 /var/log/* 查看/var/log路径下文件的大小
4、du -sh /* 查看哪个目录最大
5、cat /dev/null > /var/log/mongodb/mongod.log 清空mongodb日志文件
使用 df -h 查看硬盘的空间,发现全被/dev/vda1 占据了

查看硬盘空间
而后面又有个 overlay,也是 40G,不明白没关系,继续往后步骤找
第二、三步没啥用,主要是第四步。现在根目录下输入du -sh * ,发现 var 目录占了36个G,不得了

查看根目录下的各文件所占内存
进入 var 目录查询du -sh *,发现 lib 目录占了 35G

var目录下的各文件所占内存
继续进入 lib 目录,查询du -sh *,发现 docker 目录占了 35G。明白了,问题出在 docker 容器上,也许是镜像,也许是容器,所占的内存太大了
那就把没用的镜像和容器删除吧
删到后面发现是启动的 check 酱容器占满了内存,删除了这个容器后,内存就恢复了

删除内存吸盘后的内存
check 酱或许是写入了什么错误日志之类的,导致占满了内存。想想,也就不用
为此,也不去纠结,再说了,这个服务个人感觉并不是很好用,老是报错
学到的东西
主要是 linux 的操作
例如:
df -h:查看硬盘空间
du -sh *:查看哪个目录最大
到顶部