当前位置:首页>Linux>Linux 服务器磁盘空间耗尽故障排查与预防

Linux 服务器磁盘空间耗尽故障排查与预防

  • 2026-09-22 10:19:48
Linux 服务器磁盘空间耗尽故障排查与预防

点击下方名片,设为星标!

      磁盘空间耗尽是 Linux 服务器运维中最常见的问题之一。本文将从故障现象、排查思路、具体步骤到主动监测,为你提供一套完整的解决方案。

常见的故障现象

当磁盘空间出现问题时,系统通常会表现出以下症状:

  1. 应用异常:服务无法写入日志、数据库报错"No space left on device"、文件上传失败
  2. 系统告警:监控工具发送磁盘使用率超过阈值的通知
  3. 登录困难:SSH 连接变慢,甚至无法创建新的会话
  4. 命令失效:apt、yum 等包管理器无法正常运行

故障定位的思路

排查磁盘空间问题遵循"先整体后局部"的原则:

  1. 确认整体使用情况 —— 哪些分区满了?
  2. 定位大文件/目录 —— 空间被什么占用了?
  3. 分析文件类型 —— 是日志?临时文件?还是数据文件?
  4. 判断是否可以清理 —— 哪些能删,哪些不能动?

故障定位的步骤

步骤 1:查看磁盘整体使用情况

命令:df -h

正常输出示例:Filesystem      Size  Used Avail Use% Mounted on/dev/sda1        50G   15G   33G  32% //dev/sdb1       100G   20G   80G  20% /data

异常输出示例(磁盘已满):Filesystem      Size  Used Avail Use% Mounted on/dev/sda1        50G   50G     0 100% /

步骤 2:定位占用空间的大目录

命令:du -sh /* 2>/dev/null | sort -rh | head -20

输出示例:30G    /var15G    /usr8G     /home5G     /opt

步骤 3:查找大文件

命令:find / -type f -size +500M -exec ls -lh {} ; 2>/dev/null

输出示例:-rw-r----- 1 root root 2.1G Feb 27 14:30 /var/log/nginx/access.log-rw------- 1 root root 1.5G Feb 27 10:15 /var/lib/mysql/ibdata1

步骤 4:检查已删除但仍被占用的文件

命令:lsof | grep deleted

异常输出示例:nginx   1234  root  3w  REG  8,1  5368709120  /var/log/nginx/error.log (deleted)

解决方法:重启占用进程或清空文件

步骤 5:清理常见"空间杀手"

清理包缓存:apt clean 或 yum clean all清理旧日志:journalctl --vacuum-time=7d清理临时文件:rm -rf /tmp/*清理 Docker:docker system prune -a

主动监测,避免事后处理

  1. 设置磁盘使用率告警

使用 cron + 脚本监控:

#!/bin/bashTHRESHOLD=80USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')if [ $USAGE -gt $THRESHOLD ]; then    echo "警告:根分区使用率已达 ${USAGE}%" | mail -s "磁盘告警" admin@example.comfi
添加到定时任务(每 30 分钟检查一次):echo "*/30 * * * * /path/to/disk_alert.sh" | crontab -
  1. 日志轮转配置

确保 logrotate 正常运行:cat /etc/logrotate.conflogrotate -d /etc/logrotate.conf

  1. 预留缓冲空间

分区规划时预留 10-15% 的冗余对关键目录设置独立分区(/var、/home、/tmp)使用 LVM 方便后期扩容

  1. 定期巡检清单

echo "= 磁盘使用情况  ="df -hecho ""echo "= 大文件 TOP 10  ="find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null | head -10echo ""echo "= 已删除但未释放的文件  ="lsof | grep deleted | head -5

总结

磁盘空间问题看似紧急,实则有章可循。掌握 df、du、find、lsof 这几个核心命令,配合定期监控和合理的空间规划,就能将故障消灭在萌芽状态。

记住:预防胜于治疗,监控优于抢修。

===========  到此结束  ==========

//往期推荐//

提高办公效率的首选工具---Listary

Alist+RaiDrive:Windows环境下无限扩容本地硬盘

Obsidian+Copilot:打造个人专属的知识库

如果觉得本次分享对你有所帮助的话,希望点击“在看”给予鼓励,谢谢!

敬请关注公众号:运维来点料

最新文章

随机文章