查看阿里云服务器系统盘占用空间,可以通过以下步骤进行排查:
一、快速定位大文件/目录
1. 使用 du 命令(推荐)
# 查看根目录下各文件夹大小(按大小排序,显示前10个)
sudo du -sh /* 2>/dev/null | sort -rh | head -10
# 深入分析具体目录(如 /var、/usr)
sudo du -sh /var/* 2>/dev/null | sort -rh | head -10
# 查找当前目录下大于100MB的文件
sudo find / -type f -size +100M 2>/dev/null | xargs ls -lh
2. 使用 ncdu 工具(交互式可视化)
# 安装 ncdu(CentOS/Alibaba Cloud Linux)
sudo yum install ncdu -y
# Ubuntu/Debian
sudo apt install ncdu -y
# 扫描根目录(按大小降序,可交互浏览)
sudo ncdu /
- 按
n按文件名排序,s按大小排序,d删除选中文件(谨慎使用)。
二、检查常见占用空间大的目录
1. 日志文件(/var/log)
# 查看日志目录大小
sudo du -sh /var/log
# 清理旧日志(谨慎操作,建议先备份)
sudo journalctl --vacuum-time=7d # 清理7天前的系统日志
sudo find /var/log -type f -name "*.log" -mtime +7 -delete
2. 缓存文件(/var/cache)
# 清理 yum/apt 缓存
sudo yum clean all # CentOS/Alibaba Cloud Linux
sudo apt clean # Ubuntu/Debian
3. 容器相关(如果使用 Docker)
# 查看 Docker 占用
docker system df
# 清理无用镜像、容器
docker system prune -a
4. 临时文件(/tmp)
sudo du -sh /tmp
三、使用 df 查看磁盘整体使用情况
# 查看磁盘挂载点及使用率
df -h
# 查看 inode 使用情况(小文件过多可能导致 inode 耗尽)
df -i
四、特殊场景排查
1. 已删除文件仍占用空间(进程未释放)
# 查看被删除但未释放的文件
lsof | grep deleted
# 重启相关进程或系统释放空间
sudo systemctl restart <服务名>
2. 大文件查找(结合 find)
# 查找大于500MB的文件(全盘扫描,耗时较长)
sudo find / -type f -size +500M 2>/dev/null | xargs du -h | sort -rh
五、自动化清理建议
- 日志轮转:配置
logrotate自动切割日志。 - 监控告警:在阿里云控制台设置磁盘使用率告警(云监控 → 报警规则)。
- 定期清理脚本示例:
#!/bin/bash # 清理日志(保留最近7天) find /var/log -type f -mtime +7 -delete # 清理临时文件 rm -rf /tmp/* # 清理包管理器缓存 yum clean all 2>/dev/null || apt clean 2>/dev/null
注意事项
- 谨慎删除:系统文件勿随意删除,尤其是
/usr、/lib、/etc等目录。 - 备份重要数据:清理前建议对关键数据备份(可使用阿里云快照功能)。
- 容器/应用日志:若运行Java/Python应用,检查应用日志输出目录。
通过以上步骤,你可以快速定位并处理系统盘空间占用问题。如果问题仍存在,可通过阿里云控制台的 云助手 或 Workbench 远程执行命令进一步排查。
CLOUD技术笔记