当阿里云ECS实例的磁盘使用率超过80%时,确实建议及时清理,以避免影响系统性能或服务运行。以下是一些常见的清理步骤和建议:
✅ 一、检查当前磁盘使用情况
-
登录ECS实例(SSH)
ssh root@your_server_ip -
查看磁盘使用情况
df -h查看哪个分区(通常是
/或/dev/vda1)使用率过高。 -
查找大文件或大目录
du -sh /* 2>/dev/null | sort -hr | head -10这会列出根目录下占用空间最大的前10个目录。
✅ 二、常见可清理内容
1. 清理系统日志
-
日志通常位于
/var/log/# 查看大日志文件 du -sh /var/log/* | sort -hr | head -10 # 清理旧日志(谨慎操作) > /var/log/messages > /var/log/secure > /var/log/nginx/*.log # 如果是Nginx > /var/log/yum.log⚠️ 注意:不要直接删除日志文件,建议清空内容(
> filename)或使用logrotate管理。
2. 清理YUM缓存(CentOS/RHEL)
yum clean all
rm -rf /var/cache/yum
3. 清理APT缓存(Ubuntu/Debian)
apt-get clean
apt-get autoremove
4. 清理Docker(如果使用)
# 删除未使用的镜像、容器、卷
docker system prune -a --volumes
⚠️ 谨慎使用
-a,会删除所有未使用的镜像。
5. 检查应用日志(如Nginx、Tomcat、Node.js等)
# 例如Nginx日志
ls -lh /var/log/nginx/
> /var/log/nginx/access.log
> /var/log/nginx/error.log
6. 删除临时文件
rm -rf /tmp/*
rm -rf /var/tmp/*
7. 检查是否有大文件上传或备份残留
find / -type f -size +100M 2>/dev/null | xargs ls -lh
查找大于100MB的文件,确认是否可以删除。
✅ 三、长期建议
-
设置日志轮转(logrotate)
确保/etc/logrotate.conf正常工作,避免日志无限增长。 -
定期清理脚本
编写定时任务(crontab)自动清理缓存或日志:0 2 * * * /usr/bin/yum clean all 0 3 * * * > /var/log/messages -
扩容磁盘(可选)
- 如果经常满,建议通过阿里云控制台 扩容系统盘或数据盘。
- 扩容后需在系统内使用
growpart和resize2fs(ext4)或xfs_growfs(xfs)调整分区大小。
-
挂载数据盘
将日志、上传文件等目录移到数据盘,避免系统盘压力过大。
✅ 四、监控建议
- 使用 阿里云云监控 设置磁盘使用率告警(如 >80% 发送通知)。
- 安装
netdata、prometheus+node_exporter等工具做可视化监控。
🛠 示例:一键检查脚本(可选)
#!/bin/bash
echo "=== 磁盘使用情况 ==="
df -h
echo -e "n=== 最大10个目录 ==="
du -sh /* 2>/dev/null | sort -hr | head -10
echo -e "n=== 大于100M的文件 ==="
find / -type f -size +100M 2>/dev/null | xargs ls -lh 2>/dev/null | head -20
如果你提供具体系统类型(如 CentOS、Ubuntu)和用途(如Web服务器、数据库),我可以给出更精准的清理建议。
需要我帮你分析 df -h 或 du 的输出吗?可以贴出来看看。
CLOUD技术博