当前位置:首页 > 问答 > 正文

磁盘管理 空间监控 如何在Linux中使用cmd命令查看磁盘空间使用情况

💻 Linux磁盘管理宝典 | 空间监控全攻略 🔍
(信息更新至2025年8月,附趣味emoji指南✨)

🚀 基础命令:快速查看磁盘空间

df 命令:文件系统级监控

df -h  # 人类可读格式显示所有挂载点
df -hT  # 显示文件系统类型(如ext4/xfs)
df -i  # 查看inode使用情况(避免小文件耗尽inode)

📊 示例输出

磁盘管理 空间监控 如何在Linux中使用cmd命令查看磁盘空间使用情况

Filesystem      Size  Used  Avail Use% Mounted on
/dev/sda1        100G   50G    50G  50% /
tmpfs            2.0G     0    2.0G   0% /dev/shm

du 命令:目录级精准分析

du -sh /path/to/dir  # 查看目录总大小
du -sh *  # 当前目录下各文件/目录大小
du -d 1 -h /var  # 限制显示深度为1层

🔍 示例输出

磁盘管理 空间监控 如何在Linux中使用cmd命令查看磁盘空间使用情况

5G    /var/log
887M    /var/lib

🔍 df vs du:为何数值不一致?

  • df:基于文件系统元数据,反映已挂载分区的整体使用情况。
  • du:通过遍历目录计算实际文件大小,可能因已删除但未释放的文件导致差异。
    💡 解决方案
    lsof +L1 /path  # 查找未释放的已删除文件

📈 实时监控:动态追踪空间变化

watch 命令:定时刷新

watch -n 5 df -h  # 每5秒刷新一次磁盘使用情况
watch -n 2 du -sh /var/log  # 监控日志目录增长

ncdu:交互式磁盘分析

ncdu /  # 启动交互式分析(支持删除文件)

🎮 操作提示

  • 按方向键导航,d键删除文件,q退出。

🚨 自动化告警:提前预防空间不足

Shell脚本+邮件告警

#!/bin/bash
THRESHOLD=90  # 触发告警的阈值(%)
USED=$(df / | tail -1 | awk '{print $5}' | tr -d '%')
if [ $USED -ge $THRESHOLD ]; then
  echo "警告:根分区使用率达$USED%" | mail -s "磁盘告警" admin@example.com
fi

Cron定时任务

0 * * * * /path/to/disk_check.sh  # 每小时执行一次

🛠️ 进阶工具:图形化与专业监控

图形化工具

  • GNOME Disks:可视化分区管理(预装于Ubuntu)。
  • KDE Partition Manager:适合KDE桌面的分区工具。

企业级监控方案

  • Netdata:实时性能监控(支持磁盘I/O分析)。
    bash <(curl -Ss https://my-netdata.io/kickstart.sh)
  • Prometheus + Grafana:自定义磁盘监控仪表盘。

💡 2025年新特性与注意事项

  1. SSD优化:使用nvme命令监控NVMe SSD健康状态。
  2. Btrfs文件系统:支持动态扩容与快照,btrfs filesystem usage /查看详情。
  3. 云盘监控:AWS EBS或腾讯云CBS需结合云厂商工具(如cloud-init)。

📌 :

  • 日常监控用df -h,精准分析用du -sh
  • 结合watchncdu实时追踪,自动化脚本防患于未然。
  • 云服务器建议搭配云厂商监控工具,本地环境可试Netdata/Prometheus。

赶紧用这些命令给你的Linux服务器做个“体检”吧!

发表评论