挂载中怎么配合df -h命令排查因小文件过多导致挂载点出现“Inode 100%爆满”的软故障

舞姬之光

舞姬之光

2026-07-28

510人浏览

原创

“no space left on device”实为inode耗尽,需用df -i确认iuse%达100%,再定位/var、/data等高占用目录清理小文件;df -h仅显示磁盘块使用率,二者须配合排查。

挂载中怎么配合df -h命令排查因小文件过多导致挂载点出现“inode 100%爆满”的软故障

当挂载点显示磁盘空间(df -h)还有大量剩余,但系统却提示“No space left on device”,而 df -i 显示 Inode 使用率已达 100%,这就是典型的“小文件过多导致 Inode 耗尽”软故障。此时 df -h 本身不直接显示 Inode 信息,但它和 df -i 配合使用,是定位问题的第一步。

用 df -h 快速识别“空间有余但写入失败”的矛盾现象

df -h 展示的是块(block)级别的磁盘使用情况,单位是 GiB/GB。如果它显示某挂载点(如 /data)还有 40% 空间,但你无法创建新文件、日志报错“No space left on device”,就说明问题大概率不在磁盘容量,而在 Inode 资源。这是触发进一步检查 df -i 的关键信号。

  • 执行 df -h /data,确认空间未满(例如 Use% = 62%
  • 同步执行 df -i /data,重点看 IUse% 列 —— 若为 100% 或接近(如 99%),即锁定 Inode 耗尽
  • 注意:某些旧版系统或容器环境可能默认不显示 IUse%,可加 -T 参数辅助判断文件系统类型(如 ext4 默认 Inode 数固定,xfs 动态分配但仍有上限)

定位高 Inode 占用目录:从根往下逐层筛查

Inode 是按目录分配的,一个空文件也占用一个 Inode。小文件密集的目录(如日志缓存、临时上传、微服务临时目录)最可疑。配合 df -h 确认挂载点后,用以下命令逐级下钻:

X-Node企业快速建站1.0.6.0801
X-Node企业快速建站1.0.6.0801

特色介绍: 1、ASP+XML+XSLT开发,代码、界面、样式全分离,可快速开发 2、支持语言包,支持多模板,ASP文件中无任何HTML or 中文 3、无限级分类,无限级菜单,自由排序 4、自定义版头(用于不规则页面) 5、自动查找无用的上传文件与空目录,并有回收站,可删除、还原、永久删除 6、增强的Cache管理,可单独管理单个Cache 7、以内存和XML做为Cache,兼顾性能与消耗 8、

下载
  • 先查挂载点顶层目录的子目录 Inode 占用:
    find /data -maxdepth 1 -type d | xargs -I{} sh -c 'echo {}; find {} -maxdepth 1 -type f | wc -l' | sort -k2 -nr | head -10
  • 更高效方式(推荐):
    du --inodes -s /data/*/ | sort -k1 -nr | head -10--inodes 统计子目录内文件数量,近似 Inode 消耗量)
  • 常见重灾区:/data/logs/(未轮转的 debug 日志)、/data/tmp/(应用未清理的临时文件)、/data/cache/(如 yum/apt 缓存、Node.js node_modules 解压残留)

清理与预防:删文件 ≠ 释放 Inode,要理解“硬链接”和“rm”的行为

删除文件后 Inode 不立即释放?通常是因为文件仍被进程打开(lsof 可查)。另外,rm 命令只是解除链接,真正释放需所有引用消失。

  • 查被进程占用的已删除文件:
    lsof +L1 /data(显示 link count=0 但仍在使用的文件)
  • 安全清理建议:
    • 优先清空日志:truncate -s 0 /data/logs/app.log(比 rm + touch 更稳妥)
    • 批量删除小文件:find /data/tmp -name "*.tmp" -mtime +7 -delete(避免 rm -rf 误伤)
    • 清理 yum 缓存:yum clean all && rm -rf /var/cache/yum(注意路径是否挂载到 /data)
  • 长期预防:
    • 设置日志轮转(logrotate)并启用 maxsizerotate
    • 应用层限制上传/缓存单目录文件数(如 Nginx client_max_body_size、Redis maxmemory-policy
    • 新建文件系统时预留足够 Inode:mke2fs -i 8192 /dev/sdb1(每 8192 字节配 1 个 Inode,小文件多时调小该值)

验证修复效果:df -h 和 df -i 必须一起看

清理后不能只看 df -h 空间变化——Inode 是否释放,必须靠 df -i 确认。有时清理了文件但 Inode 未降,说明有进程仍 hold 着句柄,需重启对应服务或 kill 进程。

  • 执行:df -h /data && df -i /data(合并查看,对比前后 IUse%)
  • IUse% 未下降,再跑一次 lsof +L1 /data,找到 PID 后:kill -HUP $PID(优雅重启)或 kill -9 $PID(强制)
  • 验证写入能力:touch /data/test_inode_ok && echo "OK" || echo "Still blocked"

相关专题

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

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

2023.08.15

335

5

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

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

2023.09.08

616

5

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

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

2023.09.19

1170

5

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

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

2023.10.09

406

5

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

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

2023.10.17

324

5

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

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

2023.10.17

190

3

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

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

2023.10.18

1006

4

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

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

2023.10.20

1777

4

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

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

2023.10.20

320

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP安全与漏洞
PHP安全与漏洞

共12课时 | 2.4万人学习