记录一次排查服务器硬盘资源不足的过程
1.使用df命令查看磁盘使用情况
df命令是Linux系统中用于查看文件系统磁盘空间使用情况的工具。通过运行以下命令,可以查看各个挂载点的磁盘使用情况
df -h
use%占用达到了100%,果然是内存问题。
df
也可以查看磁盘占用情况,只是单位不同。
2.查找大文件
如果通过df命令发现某个挂载点的空间使用率较高,接下来可以使用du命令来查找该挂载点下占用空间较大的文件或目录。以下是一些常用的du命令示例:
- 查看当前目录下每个子目录的磁盘使用情况:du -sh *
- 递归查看当前目录及其子目录下的磁盘使用情况,并只显示前N层目录的总大小:du -h --max-depth=N
通过df命令,查看到/var/lib/docker/overlay2/的路径占用资源比较大,这里一般是保存容器的日志文件。cd到/var/lib/docker/overlay2/下,查看当前目录下每个子目录的磁盘使用情况。
cd /var/lib/docker/overlay2/
du -sh * --threshold=5G //只显示大于5GB的文件和目录的磁盘使用情况
或者.
cd /var/lib/docker/overlay2/
du -h --max-depth=1 --threshold=5G //只显示大于5GB的文件和目录的磁盘使用情况
查询该目录下占用磁盘最多的目录。
最后找到,是这些日志:
3重启Docker容器和镜像
根据日志,找到对应的docker服务,删除容器和镜像,重启服务。
docker-compose -f plm-compose.yml stop plm-cycle
docker rm plm-cycle
docker rmi plm-cloud-plm-cycle
docker-compose -f plm-compose.yml up -d --build plm-cycle
docker logs -f --tail=200 plm-cycle