Linux云服务器磁盘空间监控全攻略:5种必学命令详解
对于Linux服务器管理员来说,磁盘空间管理是日常运维中最基础也最重要的任务之一。本文将详细介绍5种实用的Linux命令工具,帮助您全面掌握云服务器的存储使用情况,并提供实用的空间优化建议。
一、为什么需要监控磁盘空间?
在云服务器环境中,磁盘空间不足可能导致:
- 系统服务异常停止
- 应用程序崩溃
- 数据库写入失败
- 系统日志无法记录
定期检查磁盘使用情况可以预防这些问题发生,确保业务连续性。
二、5个核心命令工具详解
1. df命令 – 磁盘文件系统概览
基本用法:
df -h
输出示例:
文件系统 容量 已用 可用 已用% 挂载点 /dev/vda1 50G 32G 15G 69% / tmpfs 3.9G 0 3.9G 0% /dev/shm
参数说明:
- -h:人类可读格式(自动转换GB/MB单位)
- -i:显示inode使用情况
- -T:显示文件系统类型
2. du命令 – 目录空间分析
常用组合:
du -sh /var/* | sort -rh | head -10
此命令可以找出/var目录下占用空间最大的10个子目录。
实用技巧:
- 结合find命令清理旧日志:
find /var/log -type f -name "*.log" -mtime +30 -delete
3. ncdu工具 – 交互式磁盘分析
需要先安装:
yum install ncdu # CentOS apt install ncdu # Ubuntu
使用方式:
ncdu /
这个交互式工具可以:
- 按大小排序目录
- 直接浏览子目录
- 删除不需要的文件
三、实战案例:解决磁盘空间不足
场景:网站服务器报警磁盘使用率超过90%
排查步骤:
- 使用df确认具体分区
- 用ncdu分析大文件分布
- 发现/var/lib/docker占用异常
- 使用docker system prune清理无用镜像
四、自动化监控方案
推荐配置:
- crontab定期检查脚本
- Zabbix/Grafana监控系统
- 设置80%阈值告警
示例监控脚本:
#!/bin/bash THRESHOLD=80 CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g') if [ "$CURRENT" -gt "$THRESHOLD" ]; then mail -s "磁盘空间告警" admin@example.com <<< "根分区使用率已达${CURRENT}%" fi
五、最佳实践总结
- 建立定期检查机制(至少每周一次)
- 重要业务系统设置自动告警
- 保留10-20%的可用空间
- 日志文件配置自动轮转
- 考虑使用LVM实现动态扩容
通过熟练掌握这些工具和方法,您可以有效预防Linux云服务器因磁盘空间问题导致的服务中断。