如何排查 Linux 服务因磁盘空间满导致的异常挂死

轻瑶君_3739

轻瑶君_3739

2026-06-11

574人浏览

原创

磁盘空间满不是服务挂死的直接原因,而是让服务在关键写操作时失败,从而表现成“异常挂死”。排查需先执行df -h和df -ih确认空间及inode是否耗尽,再用du -sh /* | sort -rh | head -10逐层定位大目录,重点检查/var/log、/var/lib/docker等路径,并通过find和lsof揪出大文件或已删除但被进程占用的文件,最后交叉验证系统日志与服务写操作是否失败。

如何排查 linux 服务因磁盘空间满导致的异常挂死

磁盘空间满不是服务挂死的直接原因,而是让服务在关键写操作时失败,从而表现成“异常挂死”。比如 MySQL 写 binlog 失败、Nginx 写 access.log 失败、Java 应用写堆 dump 失败,都会触发进程退出或卡住。排查要从“系统是否真没空间”开始,而不是一上来就查服务日志。

先确认是不是磁盘空间或 inode 耗尽

执行两条命令,缺一不可:

  • df -h:看各挂载点 Use% 是否达到 100%,尤其关注服务实际运行的分区(如 /、/var、/data)
  • df -ih:看对应分区的 IUse% 是否也接近或等于 100%。inode 耗尽时,No space left on device 会照常报出,但 df -h 显示还有大量空间

常见陷阱:只查 /,却忽略 /var/log 或 /var/lib/docker 是独立挂载点;或者看到 /dev/shm 占用高,误以为是磁盘问题(它其实是内存文件系统)。

定位占用空间的“真凶目录”

对已确认满的挂载点,逐层缩小范围:

  • 查一级目录:du -sh /* 2>/dev/null | sort -rh | head -10
  • 若 /var 异常大,再查:du -sh /var/* 2>/dev/null | sort -rh | head -10
  • 重点盯这些路径:/var/log(应用/系统日志)、/var/lib/docker(容器镜像+日志)、/var/lib/mysql(binlog、临时表)、/tmp 和 /var/tmp(临时文件)

不要跳过 2>/dev/null,权限错误会淹没有效结果。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

揪出具体的大文件或异常进程

找到可疑目录后,进一步锁定文件级元凶:

  • 找大于 500MB 的文件:find /var/log -type f -size +500M 2>/dev/null -exec ls -lh {} \;
  • 查 Docker 容器日志(常被忽略):find /var/lib/docker/containers -name "*.log" -size +100M 2>/dev/null
  • 检查已删除但仍在被进程占用的文件:lsof +L1 或 lsof | grep deleted。这类文件不显示在目录中,但空间未释放,重启对应进程即可回收

例如 Nginx worker 进程长期持有被轮转走的 access.log.1,就会持续占着空间。

验证服务异常是否与空间相关

别只信服务自己的日志,要交叉验证:

  • 查看系统日志中是否有写入失败记录:journalctl -n 50 --since "1 hour ago" | grep -i "no space\|write\|failed"
  • 手动模拟服务关键写操作:比如用 echo "test" > /var/log/test.log 测试目标目录是否可写
  • 检查服务启动时的完整输出:systemctl status nginx 看最近一次 failed 原因,或 journalctl -u nginx -n 30 查失败上下文

很多服务在初始化阶段就因无法创建 socket 文件、pid 文件或临时目录而静默失败,状态显示为 inactive (dead),但日志里只有模糊的 “Operation not permitted”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2712

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

916

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

809

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2456

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4552

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习