Linux磁盘空间不足?5招防宕机!

使用 df 命令(推荐首选)

df(Disk Free)是Linux内置工具,可快速显示文件系统的磁盘使用情况。
基础命令

df -h
  • -h:以人类可读格式显示(GB/MB/KB)
  • 输出列说明
    • Filesystem:磁盘分区名称
    • Size:总空间
    • Used:已用空间
    • Avail空闲空间
    • Use%:使用百分比
    • Mounted on:挂载点

示例输出

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   30G   18G  63% /
/dev/sdb1       200G   50G  150G  25% /data

高级用法

  • 查看特定目录所在分区:df -h /home
  • 排除临时文件系统:df -h -x tmpfs

使用 du 命令分析目录占用

若需定位大文件/目录占用的空间(影响空闲磁盘的根源):

du -sh /path/to/directory
  • -s:显示目录总大小
  • -h:人类可读格式
  • 常用场景
    • 扫描 /homedu -sh /home/* | sort -hr(按大小排序)
    • 查找超过100MB文件:find /var -type f -size +100M -exec du -h {} +

图形化工具(适合桌面用户)

  1. GNOME Disks
    • 安装:sudo apt install gnome-disk-utility(Debian/Ubuntu)
    • 打开后直观显示各分区空闲空间。
  2. GParted

    支持分区调整,同时展示空间使用情况。


自动化监控方案

  1. 设置磁盘告警
    编辑 /etc/crontab,添加定期检查任务:

    0 * * * * root df -h | grep -E '/($|/data$)' | awk '{ if($5 > "90%") print "ALERT: "$6" full!" }' | mail -s "Disk Alert" admin@example.com

    (当根目录或/data分区使用率>90%时发送邮件)

  2. 监控工具集成
    • 使用 Prometheus+Node ExporterZabbix 实现实时监控。

注意事项(避免常见错误)

  1. 区分物理空间与inode
    • 空间充足但提示”磁盘满”?可能是inode耗尽:df -i 检查。
  2. 挂载点覆盖问题

    若目录被新分区挂载,原数据会被隐藏(卸载后恢复)。

  3. LVM/RAID场景
    • 逻辑卷需用 lvdisplayvgdisplay 查看底层空间。

场景 推荐命令 关键参数
快速查看所有分区空闲空间 df -h(易读格式)
定位大文件/目录 du -sh(汇总大小)
自动化监控 cron + df 结合告警脚本

定期检查磁盘空间是Linux系统健康的基石,对于服务器环境,建议每周至少手动检查一次,并配置自动化告警,若需深入学习,可参考 GNU Coreutils 官方文档或 man df/man du 获取完整参数说明。

引用说明

  • 命令参数基于 GNU Coreutils 9.1 版本(2025年最新稳定版)
  • 文件系统标准遵循 Linux Filesystem Hierarchy Standard v3.0
  • 监控方案参考 Zabbix 官方监控最佳实践

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9225.html

(0)
酷番叔酷番叔
上一篇 2025年7月29日 19:11
下一篇 2025年7月29日 19:23

相关推荐

  • 如何修改Linux配置文件避免风险?

    修改Linux配置文件的核心步骤:先备份原文件;使用可靠编辑器修改;验证语法正确性;重启服务生效,安全实践包括:最小权限原则、版本控制追踪变更、审计日志监控、测试环境先行验证。

    2025年7月18日
    3800
  • Linux线程如何判断是否已退出?

    在Linux系统中,线程是进程内的执行单元,线程退出的判断是线程管理的重要环节,涉及资源释放、状态同步等多方面问题,线程退出的方式多样,对应的判断方法也需根据场景选择,本文将详细分析线程退出的常见方式及判断机制,线程退出的常见方式线程退出可分为主动退出和被动退出两类,主动退出是线程自身决定终止执行,被动退出则是……

    2025年8月23日
    900
  • linux工作组如何查找

    Linux 中,查看工作组可用 id -gn 或 groups 命令,

    2025年8月14日
    1500
  • 如何高效管理Linux计划任务?

    计划任务的类型Linux计划任务分为两类:周期性任务(cron):按固定周期(分钟/小时/天等)重复执行,一次性任务(at):在指定时间点运行一次,查看cron计划任务用户级任务(当前用户)命令: crontab -l # 查看当前用户的计划任务示例输出: 30 3 * * * /home/user/backu……

    2025年7月27日
    2300
  • Linux如何安全高效连接多台电脑?

    准备工作网络连通性确保两台电脑在同一局域网(或通过公网IP互访),使用 ping <目标IP> 测试连通性,防火墙配置:开放所需端口(如SSH的22端口):sudo ufw allow 22 # Ubuntu/Debiansudo firewall-cmd –permanent –add-por……

    2025年7月26日
    2600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信