当阿里云ECS实例的磁盘使用率超过80%时,确实建议及时清理,避免影响系统稳定性或导致服务异常。以下是一些常见的清理步骤和建议:
✅ 一、检查磁盘使用情况
登录ECS实例,执行以下命令查看磁盘使用情况:
df -h
找到使用率较高的挂载点(通常是 / 或 /home)。
进一步查看哪个目录占用空间大:
du -sh /* 2>/dev/null | sort -hr | head -10
这会列出根目录下各文件夹的大小,帮助你定位大文件或目录。
✅ 二、常见可清理内容
1. 清理系统缓存和日志
-
系统日志(通常在
/var/log)# 查看日志大小 du -sh /var/log/* # 清理旧日志(谨慎操作) sudo truncate -s 0 /var/log/messages sudo truncate -s 0 /var/log/secure # 或使用 journal 日志清理(systemd 系统) sudo journalctl --vacuum-time=7d # 保留最近7天 -
YUM/APT 缓存(根据系统选择)
# CentOS/RHEL sudo yum clean all # Ubuntu/Debian sudo apt-get clean
2. 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
3. 清理应用日志(如Nginx、Tomcat、Java等)
- Nginx 日志:
# 通常在 /var/log/nginx/ sudo truncate -s 0 /var/log/nginx/access.log sudo truncate -s 0 /var/log/nginx/error.log建议配置 logrotate 或定期归档,不要直接删除正在写入的文件。
4. 检查大文件
查找大于100MB的文件:
find / -type f -size +100M 2>/dev/null | xargs ls -lh
重点关注:
- 旧的备份文件(如
.tar.gz,.sql,.log) - 临时下载文件
- 应用生成的临时数据
5. 清理Docker(如使用)
# 清理停止的容器、无用镜像、网络、构建缓存
docker system prune -a --volumes
6. 卸载无用软件包
# CentOS
sudo yum autoremove
# Ubuntu
sudo apt-get autoremove
✅ 三、长期建议
-
设置日志轮转(logrotate)
确保/etc/logrotate.conf配置合理,避免日志无限增长。 -
监控磁盘使用
使用云监控或脚本定期检查磁盘使用率,设置告警。 -
扩容磁盘(可选)
如果经常空间不足,可考虑:- 扩容系统盘或数据盘(通过阿里云控制台)
- 挂载新的数据盘
-
定期维护脚本
编写脚本每月自动清理缓存、日志等,并设置 cron 定时任务。
⚠️ 注意事项
- 删除文件前确认是否重要,尤其是日志文件。
- 不要删除正在运行服务使用的文件(建议用
truncate清空而非rm)。 - 操作前建议创建快照备份(阿里云控制台 → 云盘 → 创建快照)。
如果你提供具体系统类型(如 CentOS、Ubuntu)和应用类型(如 Nginx、MySQL、Java 服务),我可以给出更精准的清理建议。需要的话也可以帮你写一个自动化清理脚本。
CLOUD云知道