VPS显示硬盘100%怎么办?_快速排查和解决磁盘占满问题

为什么VPS会显示硬盘使用率达到100%?

监控指标 正常范围 预警阈值 危险阈值 检查工具
硬盘使用率 90% df -h
inode使用率 90% df -i
日志文件大小 5GB du -sh /var/log
临时文件大小 1GB du -sh /tmp
备份文件大小 5GB find / -name “.bak” -o -name “.tar”

VPS显示硬盘100%使用率的排查与解决方案

当您的VPS显示硬盘使用率达到100%时,系统性能会急剧下降,网站访问变慢,甚至服务中断。本文将详细介绍如何快速定位问题并有效释放磁盘空间。

主要排查步骤

步骤 方法 优先级
1 检查磁盘使用情况
2 查找大文件和目录
3 清理日志文件
4 清理缓存和临时文件
5 检查并清理备份文件

详细操作流程

步骤1:检查磁盘使用情况

操作说明:首先确认磁盘使用率的实际情况,包括普通文件和inode的使用情况。 使用工具提示:使用Linux系统的df命令
# 检查磁盘空间使用情况
df -h

检查inode使用情况

df -i

输出示例:

Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 20G 0G 100% /

步骤2:查找大文件和目录

操作说明:使用du命令查找占用空间较大的文件和目录,重点关注/var、/home、/tmp等目录。 使用工具提示:du命令配合sort排序
# 查找根目录下前10个大文件
du -ah / | sort -rh | head -n 10

查找/var目录下的大文件

du -ah /var | sort -rh | head -n 20

查找大于100MB的文件

find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null

步骤3:清理日志文件

操作说明:系统日志文件是常见的磁盘空间占用元凶,特别是长期运行的服务器。 使用工具提示:使用logrotate或手动清理
# 检查日志目录大小
du -sh /var/log/

清空特定日志文件(保留文件)

> /var/log/syslog > /var/log/messages

使用logrotate管理日志

logrotate -f /etc/logrotate.conf

步骤4:清理缓存和临时文件

操作说明:清理系统缓存、软件包缓存和临时文件可以快速释放空间。 使用工具提示:apt/dnf/yum包管理器清理命令
# Ubuntu/Debian系统清理
apt autoclean
apt autoremove

CentOS/RHEL系统清理

yum clean all dnf clean all

清理临时文件

rm -rf /tmp/ rm -rf /var/tmp/

步骤5:检查并清理备份文件

操作说明:查找并清理旧的备份文件、核心转储文件等。 使用工具提示:find命令配合时间参数
# 查找7天前的备份文件
find / -name ".bak" -mtime +7 -exec rm -f {} \; 2>/dev/null

查找核心转储文件

find / -name "core.
" -exec rm -f {} \; 2>/dev/null

常见问题与解决方案

问题 原因 解决方案
网站无法访问,数据库连接失败 磁盘空间不足导致数据库服务停止 立即清理日志文件和大文件,重启数据库服务
系统运行缓慢,命令执行超时 磁盘IO等待时间过长 清理临时文件和缓存,检查是否有大量小文件
无法创建新文件或目录 inode使用率达到100% 删除大量小文件,如邮件队列、会话文件等
清理后空间很快又被占满 有进程持续写入大文件 使用lsof检查被删除但仍被占用的文件,重启相关进程
特定目录权限不足无法清理 文件权限设置问题 使用sudo权限执行清理,或检查文件所有权

预防措施

建立定期磁盘空间监控机制,设置日志轮转策略,定期清理不必要的备份文件,可以有效预防磁盘空间耗尽的问题。建议设置磁盘使用率超过80%时自动告警,及时进行预防性清理。

发表评论

评论列表