5种高效方法:如何在Linux服务器上查看磁盘使用情况
对于Linux服务器管理员来说,实时监控磁盘使用情况是系统维护中最基础也是最重要的任务之一。本文将详细介绍5种专业级的磁盘空间检查方法,帮助您全面掌握服务器存储状态,预防潜在的磁盘危机。
一、df命令:快速概览磁盘使用率
df(disk filesystem)是Linux系统中最基础的磁盘查看工具:
df -h
参数说明:
- -h:以人类可读格式显示(GB/MB)
- -T:显示文件系统类型
- -i:显示inode使用情况
典型输出示例:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 32G 15G 68% / /dev/sdb1 500G 320G 155G 68% /data
二、du命令:深入分析目录占用
当需要具体查看某个目录的磁盘占用时,du(disk usage)命令更为精确:
du -sh /var/log/*
du -h --max-depth=1 /home
高级技巧:
- 找出占用最大的10个目录:
du -h / | sort -rh | head -10 - 排除特定文件系统:
du -h --exclude="/proc/*" --exclude="/sys/*" /
三、ncdu:交互式磁盘分析神器
对于新手管理员,推荐使用ncdu(NCurses Disk Usage):
sudo apt install ncdu # Debian/Ubuntu
sudo yum install ncdu # CentOS/RHEL
ncdu /
优势特点:
- 彩色交互式界面
- 支持键盘导航
- 可删除文件而不退出程序
- 支持导出扫描结果
四、lsof命令:追踪被删除但未释放的空间
当df显示磁盘已满但du找不到大文件时,可能是进程占用了已删除文件:
lsof | grep deleted
ls -la /proc/*/fd | grep deleted
解决方法:
- 重启相关进程
- 使用
kill -HUP PID发送挂起信号 - 对于重要服务,应先创建日志轮换
五、自动化监控方案
对于企业级环境,建议配置自动化监控:
1. 使用cron定时检查
# 每天检查一次并发送邮件
0 0 * * * df -h > /var/log/disk_usage.log
2. 配置Zabbix/Grafana监控
关键监控项:
- 磁盘使用率阈值报警(建议80%)
- inode使用率监控
- 磁盘IO性能指标
实用技巧补充
- 快速清理日志:
journalctl --vacuum-size=200M - 查找大文件:
find / -type f -size +100M -exec ls -lh {} \; - LVM扩展:当需要扩容时,LVM工具链(pvcreate/vgextend/lvextend)是最佳选择
掌握这些磁盘监控技术,您将能够:
- 提前发现存储瓶颈
- 快速定位空间占用源头
- 有效预防因磁盘满导致的系统故障
建议将df -h加入您的每日检查清单,对于生产环境,务必配置自动化监控和报警机制。
