排查 Linux 空间占用
编辑
142
2024-11-09
在维护自己的服务器的时候经常会出现空间不足的情况,总结了一些经验和命令以备后续速查。
文件系统
先看一下系统总体的磁盘占用,确定一下系统上有几块盘,是哪块满了。
df -h
粗筛,看看根目录下哪个文件夹的占用比较大。
du -h --max-depth=1
找出当前目录下最大的 10 个文件
du -a -h . | sort -h -r | head -n 10
找出当前目录下大于 500M 的文件(并打印出文件大小)
find . -type f -size +500M -print0 | xargs -0 du -h
Docker
docker system df [-v]
会展示出不同类型的东西占用了多少空间,有多少空间可以清理。加上 -v
会输出更加详细的信息。
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 18 5 18.67GB 16.7GB (89%)
Containers 5 0 367.9MB 367.9MB (100%)
Local Volumes 4 4 540.4MB 0B (0%)
Build Cache 163 0 4.309GB 4.309GB
一般来说,都是没用的镜像和未使用的卷(这个需要注意是否存了有用的数据,最好还是用绑定目录的方式吧)占的空间会非常多,给执行一下下面这一套。
docker image prune [-a, --all]
docker volume prune
包管理
yum clean all # centos
apt-get auto-remove && apt-get clean # ubuntu, debian...
编程语言
go clean -cache # go
pip cache purge # python
conda clean [-a, --all] # conda
poetry cache clear --all . # poetry
composer clear-cache # php
References
Linux 如何查找大文件或目录总结 - 潇湘隐者 - 博客园
linux - How to find the largest directories or largest files? - Super User
How to inspect volumes size in Docker | by MrManafon | Homullus | Medium
- 0
- 0
-
赞助
微信赞赏码 -
分享