新手指南:如何解决 Linux 服务器 `df -h` 显示 100% 磁盘使用率问题
温馨提示:
本文最后更新于 2025年07月12日,已超过 13 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
一、引言
当 Linux 服务器使用 df -h
命令检查磁盘空间时,如果发现某个分区的使用率达到 100%,系统可能出现性能下降、服务中断等风险。
本文将为新手提供一套清晰、可执行的磁盘清理和拓展方案,帮助快速恢复可用空间。
二、检查磁盘使用情况
查看整体磁盘使用:
df -h `
检查 inode 使用:
df -i
- 确定哪个挂载点已满,并记录挂载路径(如
/
、/var
、/home
)。
三、定位大文件和目录
使用
du
排序查询大目录:du -h / | grep -E "[0-9\.]+G" | sort -nr | head -n 20
如果只关注某个分区,指定挂载点:
du -h /var | sort -nr | head -n 20
- 进入高占用目录,进一步缩小范围,找到真正的大文件。
四、日志文件清理
定位日志目录(通常在
/var/log
):ls -lh /var/log
清理或压缩过大的日志:
> /var/log/syslog # 清空文件 gzip /var/log/*.log # 压缩旧日志
- 配置
logrotate
,自动归档并删除超过一定保留天数的日志。
五、清理包管理器缓存
Debian/Ubuntu:
sudo apt-get clean sudo apt-get autoremove -y
CentOS/RHEL:
sudo yum clean all sudo package-cleanup --oldkernels --count=1 # 删除旧内核
六、清理临时文件
清空
/tmp
:sudo rm -rf /tmp/*
按计划定期清理:
将以下行加入/etc/crontab
:0 2 * * * root find /tmp -type f -mtime +7 -delete
七、Docker 容器与镜像清理(如适用)
sudo docker system prune -a --volumes # 删除所有未使用的容器、镜像和数据卷
八、扩展磁盘空间或调整分区(高级操作)
- 在线扩容云盘:根据云厂商控制台操作。
使用
fdisk
、pvresize
、lvextend
、resize2fs
等工具调整 LVM 分区。注意:生产环境操作前务必备份,并确认无业务高峰时段。
九、监控与预防
安装
ncdu
:交互式查看空间占用。sudo apt-get install ncdu ncdu /
- 配置磁盘告警:使用 Zabbix、Prometheus+Alertmanager 等监控工具,当使用率超过阈值(如 80%)时自动报警。
十、总结
通过定位大文件、清理日志和缓存、定期维护以及必要时扩容,能够有效解决并预防 Linux 服务器磁盘爆满问题。新手只需按步骤操作,即可快速恢复可用空间并保障服务器稳定运行。
正文到此结束
- 本文标签: Linux
- 本文链接: https://code.itptg.com/article/4
- 版权声明: 本文由老魏原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权