删除文件后磁盘空间未释放,git pull报No space left on device错误求助
删除文件后磁盘空间未释放,git pull报No space left on device错误求助
嗨,我来帮你梳理下这个问题的核心原因和解决办法:
1. 被删除的文件仍被进程占用,导致空间未释放
你删除了ISO文件但磁盘没释放空间,大概率是这些文件还被某个进程(比如Docker容器里的进程)打开着。虽然文件在文件系统里看不到了,但操作系统会等到进程关闭文件句柄后才会回收空间。
针对你遇到的lsof: no pwd entry for UID 999报错,这个UID 999通常是Docker容器默认使用的非root用户(系统里没有对应账号,所以lsof没法解析用户名),你可以忽略这个报错,直接用更精准的命令查找已删除但仍被占用的文件:
lsof | grep deleted
找到对应的进程ID(PID)后,你可以选择重启该进程或者用kill <PID>杀掉它,之后磁盘空间应该就能释放了。
2. Docker资源才是磁盘占用的大头
看你的df -h输出,两个overlay挂载点都显示磁盘满了,这说明Docker的镜像、容器、日志或者卷占用了大量空间——这才是902G磁盘被占满的核心原因,你删除的2.5G ISO文件只是杯水车薪。
你可以先查看Docker的空间使用情况:
docker system df
然后针对性清理:
- 清理所有未使用的镜像(包括 dangling 镜像):
docker image prune -a - 清理所有停止运行的容器:
docker container prune - 清理未被容器使用的卷:
docker volume prune - 一键清理所有未使用的Docker资源(镜像、容器、卷、网络等):
docker system prune -a(执行前确认不会误删需要的资源)
3. 额外排查技巧
如果清理Docker后还有问题,可以用这个命令快速定位哪个目录占用空间最大:
du -sh /*
找到大目录后再逐步深入查找,就能揪出占用空间的“元凶”。
备注:内容来源于stack exchange,提问作者RajS
相关产品推荐
相关产品推荐

