服务器磁盘满了?手把手教你排查解决,别让网站栽在硬盘上
网站带文件上传功能的朋友,一定遇到过这种糟心事:
用户传的图片、文件太多了,服务器磁盘直接被撑满。然后——
- 用户再上传东西,直接报错
- 严重的时候,网站正常访问都受影响
刚好赶上客户要用,网站打不开,这就很难受了。
别慌,磁盘满这个问题,99%都能靠几条命令自己搞定。今天手把手教你排查。
第一步:确认是不是磁盘满了
碰到网站打不开、上传失败,第一反应先看磁盘空间是不是用光了。
查看磁盘整体空间:
df -h
这条命令展示磁盘使用情况:
- 已用多少
- 还剩多少可用空间
判断标准: 可用空间只剩几百兆,那基本就是磁盘快爆了,上传失败这类故障就是它引起的。
第二步:定位是哪个文件夹"霸占"了大量空间
知道磁盘空间不足,接下来找元凶——是哪个文件夹占了大量空间。
用这条命令查看目录下各个文件夹的大小:
du -h --max-depth=1
⚠️ 重点:一定要加 --max-depth=1!
不加这个限制,它会把目录下所有层级的文件夹全部遍历输出,内容巨多、看着非常乱。
设置深度为 1,就只汇总当前这一层文件夹的大小,一眼就能看出哪个文件夹体积最大。
想更快定位? 搭配 sort 和 head,直接筛选占用最高的前 10 个目录:
du -h --max-depth=1 | sort -rh | head -10
第三步:进去找到里面的大文件
找到占用高的文件夹之后,cd 进入这个目录:
cd /占空间的目录
执行这条命令,把文件按大小从大到小排序:
ls -lhS
再搭配 head,只展示占空间最大的前 10 个文件:
ls -lhS | head -n 10
第四步:删掉无用的大文件
找到这些超大文件,确认没有用之后直接清理删除,磁盘空间就释放了,问题解决。
⚠️ 删除前先确认文件不是网站运行必需的(比如日志、备份、临时文件),别误删了重要数据。
整套排查流程总结
| 步骤 | 命令 | 作用 |
|---|---|---|
| 1 | df -h |
确认磁盘整体空间,判断是否占满 |
| 2 | du -h --max-depth=1 |
定位占用高的文件夹 |
| 3 | ls -lhS | head -n 10 |
进入目录找出大文件 |
| 4 | 删除无用大文件 | 释放空间,问题解决 |
写在最后
服务器磁盘满,看着吓人,其实是一个高频又很好解决的问题。
关键是记住这套流程:df看整体 → du找文件夹 → ls找文件 → 删掉释放。
日常维护里,建议也定期用这几条命令检查一下磁盘,别等网站崩了才想起来。
遇到服务器相关的疑难杂症,也可以交给专业的人处理。
程序员老狼 | 聊城变量网络科技有限公司
十几年全栈开发经验,专注网站、服务器、客服系统、自动化方案
有问题随时交流,微信:llike620
十年开发经验程序员,独立开发《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
浙公网安备 33010602011771号