阿里云服务器系统盘使用率过高是一个常见问题,可能导致系统运行缓慢、服务中断甚至无法登录。以下是排查和解决该问题的详细步骤:
一、检查当前磁盘使用情况
-
登录服务器(SSH)
ssh root@your_server_ip -
查看磁盘使用率
df -h输出示例:
Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 38G 2G 95% /如果
/分区(即系统盘)使用率超过 80%,就需要处理。
二、查找占用空间大的文件/目录
使用 du 命令查找大文件或大目录:
# 查看根目录下各目录大小(按大小排序)
sudo du -sh /* | sort -hr | head -10
常见占用高的目录:
/var/log:日志文件/var/lib/docker:Docker 镜像和容器(如果你用了 Docker)/tmp:临时文件/home或/root:用户文件
进一步深入某个目录:
sudo du -sh /var/log/* | sort -hr | head -10
三、常见原因及解决方案
1. 日志文件过大(最常见)
清理系统日志:
# 清空日志文件(谨慎操作)
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/messages
sudo truncate -s 0 /var/log/nginx/*.log # 如果是 Nginx
sudo truncate -s 0 /var/log/apache2/*.log # Apache
⚠️ 注意:不要直接删除正在使用的日志文件,应清空或用
logrotate管理。
配置日志轮转(logrotate)
确保 /etc/logrotate.conf 和 /etc/logrotate.d/ 下有合理配置,避免日志无限增长。
2. Docker 占用空间高
如果你运行了 Docker:
# 查看 Docker 磁盘使用情况
docker system df
# 清理未使用的镜像、容器、网络、构建缓存
docker system prune -a --volumes
⚠️
-a会删除所有未使用的镜像,慎用。
3. 临时文件或缓存过多
# 清理 apt 缓存(Ubuntu/Debian)
sudo apt clean
sudo apt autoremove
# 清理 yum 缓存(CentOS/RHEL)
sudo yum clean all
# 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
4. 应用程序日志或数据文件
检查你的应用(如 Web 服务、数据库等)是否在系统盘写入大量日志或数据:
- 检查 Nginx/Apache 日志路径
- 检查 MySQL 的
datadir是否在系统盘 - 检查是否有程序生成了大文件(如
.tar,.log,.sql备份)
建议将这些数据迁移到数据盘。
四、长期解决方案
✅ 1. 挂载数据盘用于存储
如果已有数据盘,挂载到 /data 或 /opt,并将日志、数据库、网站文件等迁移到数据盘。
✅ 2. 扩容系统盘(推荐)
阿里云支持在线扩容系统盘:
- 登录 阿里云控制台
- 找到对应实例 → 更多 → 磁盘与镜像 → 扩展磁盘
- 选择“系统盘”进行扩容(如从 40GB 扩到 80GB)
- 扩容后,在服务器中使用
growpart和resize2fs(ext4)或xfs_growfs(xfs)扩展文件系统
示例(ext4 文件系统):
# 安装 growpart 工具
sudo yum install cloud-utils-growpart -y # CentOS
sudo apt install cloud-guest-utils -y # Ubuntu
# 扩展分区和文件系统
sudo growpart /dev/vda 1
sudo resize2fs /dev/vda1
注意:XFS 文件系统使用
xfs_growfs /
✅ 3. 设置监控和告警
在阿里云控制台为磁盘使用率设置告警(如 >80% 触发短信/邮件通知),提前预警。
五、预防措施
- 定期清理日志(可写 cron 脚本自动清理)
- 使用
logrotate自动管理日志 - 应用数据、备份、日志等不要放在系统盘
- 监控磁盘使用趋势
总结
| 步骤 | 操作 |
|---|---|
| 1 | df -h 查看使用率 |
| 2 | du -sh /* | sort -hr 找大目录 |
| 3 | 清理日志、缓存、Docker |
| 4 | 迁移数据或扩容系统盘 |
| 5 | 设置监控告警 |
如有具体场景(如 WordPress、MySQL、Docker 等),可提供更多信息,我可以给出更精准的清理建议。
云小栈