阿里云磁盘使用率过高是一个常见的运维问题,可能会影响服务器性能、系统稳定性,甚至导致服务不可用。下面是一些排查和处理“阿里云磁盘使用率过高”的方法:
🔍 一、确认磁盘使用情况
1. 登录服务器查看磁盘空间
使用以下命令查看磁盘使用情况:
df -h
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 38G 2G 95% /
Use%表示磁盘使用百分比。- 如果
/(根目录)使用率超过 80%,就需要清理或扩容。
2. 查看具体目录占用情况
du -sh /* 2>/dev/null | sort -h
或者查找大文件/目录:
find / -type f -size +100M -exec ls -lh {} ;
🧹 二、常见原因与解决方案
1. 日志文件过大
- 常见位置:
/var/log/、/home/admin/logs/、/usr/local/tomcat/logs/ - 解决方法:
- 删除无用日志(如 catalina.out、access.log 等)
- 设置日志滚动策略(如 logrotate)
2. 临时文件堆积
- 常见位置:
/tmp、/var/tmp - 解决方法:
- 清理临时文件
- 检查是否有程序未正确释放资源
3. 应用数据堆积
- 如上传的图片、视频、备份文件等
- 解决方法:
- 移动到 OSS 或其他存储
- 定期清理旧数据
4. 数据库数据增长过快
- 常见位置:
/var/lib/mysql、/data/mongodb/ - 解决方法:
- 清理冗余数据
- 导出历史数据归档
- 扩容或迁移到 RDS 实例
5. 系统缓存或残留包
-
解决方法:
# Ubuntu/Debian apt-get clean && apt-get autoclean && apt-get autoremove # CentOS/RHEL yum clean all
💾 三、扩容方案
方案 1:升级云盘容量(推荐)
- 登录 阿里云控制台
- 找到对应 ECS 实例 -> 磁盘信息
- 对磁盘进行 扩容操作
- 扩容后需要在系统中执行以下步骤:
Linux 系统扩容分区和文件系统:
# 查看当前分区表
fdisk -l
# 使用 growpart 工具扩展分区(例如 /dev/vda1)
growpart /dev/vda 1
# 扩展文件系统(假设是 ext4)
resize2fs /dev/vda1
# 或者如果是 xfs 文件系统
xfs_growfs /
⚠️ 注意:操作前务必做好数据备份!
方案 2:挂载新磁盘
如果无法扩容原有磁盘,可以购买新的云盘并挂载为新目录,比如 /data,然后将大文件移动过去。
🛡️ 四、预防建议
- 定期监控磁盘使用情况(可用阿里云监控或 Prometheus)
- 设置自动清理脚本(如定时删除 N 天前的日志)
- 使用对象存储 OSS 存放静态资源
- 配置日志轮转机制(logrotate)
- 使用云监控报警:在阿里云控制台设置磁盘使用率告警
✅ 示例:清理 Tomcat 日志
# 清空 catalina.out(慎用!会丢失当前日志)
> /usr/local/tomcat/logs/catalina.out
# 或者备份后清空
mv /usr/local/tomcat/logs/catalina.out /usr/local/tomcat/logs/catalina.out.bak
touch /usr/local/tomcat/logs/catalina.out
如果你提供更具体的环境信息(如操作系统、挂载点、磁盘类型),我可以给出更有针对性的建议。是否需要我帮你分析某个目录的具体占用情况?
云计算HECS