使用
df -h
命令查看磁盘空间,重点关注根目录/
的Avail
列和Use%
列,若Use%
接近100%或Avail
值极小,表明空闲空间不足,可清理日志、缓存或删除大文件释放空间。为什么需要监控磁盘空间?
- 系统运行依赖临时文件和缓存,空间不足会引发异常。
- 关键服务(如数据库、Web服务器)可能因无法写入数据而中断。
- 未及时清理的日志或临时文件会持续占用空间。
命令行检查磁盘空间(推荐)
使用 df
命令(查看整体磁盘使用率)
df -h # -h 参数以人类可读格式(GB/MB)显示
输出解读:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 45G 2.5G 95% / # 重点看 Use% ≥90% 的分区
tmpfs 3.9G 0 3.9G 0% /tmp
- 关键列:
Avail
(剩余空间)、Use%
(使用百分比)。 - 风险阈值:
Use% ≥90%
需立即处理。
使用 du
命令(定位大文件/目录)
# 检查指定目录占用空间(/home) du -sh /home/* | sort -rh | head -n 10 # 显示 /home 下前10大目录
常用参数:
-s
:汇总大小-h
:易读格式--max-depth=1
:只检查一级子目录
图形化工具(适合桌面用户)
- GNOME 桌面:打开
Disks
或Baobab
(磁盘分析器)。 - KDE 桌面:使用
Filelight
可视化磁盘占用。 - 通用方法:安装
ncdu
工具(终端可视化):sudo apt install ncdu # Debian/Ubuntu ncdu / # 扫描根目录,按大小排序
空间不足的应急处理
清理缓存和临时文件
sudo apt clean # 清理APT缓存(Debian/Ubuntu) sudo yum clean all # 清理YUM缓存(CentOS/RHEL) sudo rm -rf /tmp/* # 谨慎清理/tmp(确保无重要文件)
删除日志文件
sudo journalctl --vacuum-size=100M # 限制系统日志为100MB sudo rm /var/log/*.log.* # 删除旧日志(保留当前日志)
查找并删除大文件
# 全局搜索大于500MB的文件 sudo find / -type f -size +500M -exec ls -lh {} ;
预防性维护建议
- 定期检查:将
df -h
加入cron任务,每周邮件报告。 - 分区隔离:为
/home
、/var
等易增长目录分配独立分区。 - 日志轮转:配置
logrotate
自动压缩和删除旧日志。 - 监控工具:使用
Prometheus
+Grafana
实时监控磁盘。
高级场景处理
- LVM扩容:若使用LVM,可通过
lvextend
动态调整分区。 - 软链接转移:将大目录(如
/var/lib/mysql
)迁移到新磁盘并创建软链接:sudo mv /var/lib/mysql /new_disk/ sudo ln -s /new_disk/mysql /var/lib/mysql
引用说明
- Linux
man
手册(命令原生文档):man df
,man du
- Filesystem Hierarchy Standard (FHS):规范Linux目录结构
- 工具文档:
ncdu
、logrotate
官方指南
重要提示:删除系统文件前务必确认内容!误删关键文件可能导致系统崩溃,生产环境建议先备份数据。
通过以上步骤,您可快速识别磁盘瓶颈并释放空间,定期维护是避免问题的关键——建议将磁盘检查纳入日常运维流程,如遇复杂情况(如LVM调整),请参考官方文档或联系专业运维支持。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/38043.html