Linux云服务器磁盘空间管理完全指南:8种实用命令解析
对于Linux服务器管理员来说,磁盘空间管理是日常运维中最基础却至关重要的任务之一。本文将详细介绍8种在Linux云服务器上查看磁盘空间使用情况的方法,帮助您及时发现存储问题,避免"磁盘已满"的尴尬局面。
一、为什么要监控磁盘空间?
服务器磁盘空间不足可能导致:
- 应用程序崩溃或异常
- 系统日志无法写入
- 数据库服务中断
- 系统更新失败
二、基础命令:df
df -h是最常用的磁盘空间检查命令:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 50G 32G 16G 67% / tmpfs 3.9G 0 3.9G 0% /dev/shm
参数说明:
- -h:人类可读格式(自动转换GB/MB)
- -T:显示文件系统类型
- -i:查看inode使用情况
三、详细分析:du命令
要找出具体哪些目录占用空间最大:
# du -sh /* 4.0K /bin 156M /boot 2.3G /home
进阶用法:
# 查找/var目录下最大的5个文件夹 du -h /var | sort -rh | head -5
四、图形化工具:ncdu
安装和使用:
# yum install ncdu # CentOS # apt install ncdu # Ubuntu # ncdu /
这个交互式工具可以:
- 直观显示目录大小
- 支持键盘导航
- 允许直接删除文件
五、监控特殊文件系统
处理tmpfs、devtmpfs等内存文件系统:
# df -hT | grep -E 'tmpfs|devtmpfs' tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
六、LVM磁盘管理
对于使用LVM的服务器:
# pvdisplay # 查看物理卷 # vgdisplay # 查看卷组 # lvdisplay # 查看逻辑卷
七、自动化监控方案
设置磁盘空间告警脚本:
#!/bin/bash
THRESHOLD=90
CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
if [ "$CURRENT" -gt "$THRESHOLD" ]; then
echo "警告:根分区使用率超过$THRESHOLD%"
fi
八、清理磁盘空间的实用技巧
- 查找并删除大日志文件:
find /var/log -size +100M - 清理旧的内核包(Ubuntu):
apt autoremove - 清空缓存:
sync; echo 3 > /proc/sys/vm/drop_caches
最佳实践建议
- 定期检查关键分区(/、/var、/home)
- 设置自动化监控和告警
- 保留10-15%的可用空间
- 重要操作前备份数据
通过掌握这些方法,您将能够有效管理Linux云服务器的磁盘空间,确保系统稳定运行。
