当前位置:首页 > Linux > 正文

Linux磁盘空间不足?快速检查解决!

使用 df -h命令查看磁盘空间,重点关注根目录 /Avail列和 Use%列,若 Use%接近100%或 Avail值极小,表明空闲空间不足,可清理日志、缓存或删除大文件释放空间。

为什么需要监控磁盘空间?

  • 系统运行依赖临时文件和缓存,空间不足会引发异常。
  • 关键服务(如数据库、Web服务器)可能因无法写入数据而中断。
  • 未及时清理的日志或临时文件会持续占用空间。

命令行检查磁盘空间(推荐)

使用 df 命令(查看整体磁盘使用率)

df -h  # -h 参数以人类可读格式(GB/MB)显示

输出解读

Linux磁盘空间不足?快速检查解决!  第1张

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 桌面:打开 DisksBaobab(磁盘分析器)。
  • 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 {} ;

预防性维护建议

  1. 定期检查:将 df -h 加入cron任务,每周邮件报告。
  2. 分区隔离:为 /home/var 等易增长目录分配独立分区。
  3. 日志轮转:配置 logrotate 自动压缩和删除旧日志。
  4. 监控工具:使用 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目录结构
  • 工具文档:ncdulogrotate 官方指南

重要提示:删除系统文件前务必确认内容!误删关键文件可能导致系统崩溃,生产环境建议先备份数据。

通过以上步骤,您可快速识别磁盘瓶颈并释放空间,定期维护是避免问题的关键——建议将磁盘检查纳入日常运维流程,如遇复杂情况(如LVM调整),请参考官方文档或联系专业运维支持。

0