Linux系统df查看磁盘使用率很高,但du查询占用极低完整排错方案
Linux执行df查看磁盘使用率爆满但du统计所有目录文件占用空间很小核心故障根源是存在大量已rm删除、但业务进程仍持有句柄的文件可以通过lsof | grep deleted查看占用删除文件的进程重启对应业务进程或者截断文件释放磁盘空间。一、现场踩坑完整故障背景前段时间一台后端日志存储服务器告警磁盘使用率超过90%登录服务器执行df -h查看/分区已占用94%随时可能磁盘写满业务崩溃。第一时间执行du -sh /*逐层排查目录大小/var/log、/data等业务目录总占用加起来不足总磁盘容量的40%剩余一半磁盘空间凭空消失反复查找大文件、查找扩容快照均无结果。翻阅Linux磁盘与文件句柄机制文档后找到排查思路rm删除文件仅移除目录项若打开该文件的进程持续运行不退出内核不会释放文件占用的磁盘块。随后执行lsof | grep deleted查出数十个被删除的超大日志文件均被Java应用、Nginx进程持续占用重启对应进程后磁盘空间瞬间释放df使用率直接回落至40%左右。下面完整拆解底层原理、分步排查流程、临时应急方案与长期规范。1.1 df与du统计逻辑差异、删除文件不释放空间底层原理du命令统计逻辑仅遍历当前目录树中存在的有效文件只计算能在磁盘目录中检索到的文件大小已经被rm删除、仅进程持有句柄的文件目录项已经消失du完全不会统计这部分占用。df命令统计逻辑直接读取磁盘分区块设备总占用统计内核层面所有正在占用的磁盘块包含目录中可见文件 已删除但句柄未释放的隐藏文件所以df显示占用远高于du汇总数值。文件句柄释放规则Linux内核中一个文件的磁盘空间会在两个条件全部满足后回收1、所有目录下该文件的硬链接全部删除2、所有打开该文件的进程全部关闭文件句柄进程重启/退出会自动释放句柄。高频触发场景运维直接rm -f 超大日志文件清理磁盘但Nginx、Java、MySQL等服务未重启进程持续往已删除文件内追加日志磁盘空间无法释放。1.2 本次故障直接触发诱因服务器磁盘容量告警后运维直接rm删除几个十几GB的日志文件未重启写入日志的业务进程Nginx、后端Java服务后台持续运行仍然持有已删除日志文件的读写句柄内核持续保留对应磁盘块du仅检索现存目录文件无法统计句柄占用的已删除文件导致目录总占用和df磁盘占用差值巨大未配置日志轮转logrotate自动截断清理只能手动rm删除日志极易出现该类磁盘空间不释放问题。二、标准分步排查流程定位句柄占用文件执行df -h 确认磁盘分区使用率、挂载点锁定爆满的分区执行du -sh /* 汇总根目录所有目录总占用对比df数值确认存在大量隐藏占用文件执行lsof | grep deleted 筛选所有已删除、但进程持有句柄的文件输出内容包含进程PID、进程名称、文件大小、文件路径根据lsof输出的PID确认对应业务服务区分Nginx、Java、数据库等进程临时处理不重启进程前提下使用/truncate/ 原文件路径截断文件立刻释放磁盘空间长期根治正常重启对应业务进程自动释放所有文件句柄处理完成后再次执行df -h确认磁盘使用率回落空间成功释放。三、分层解决方案临时应急不重启进程、长期标准化日志清理方案3.1 现场临时应急方案业务不能重启快速释放磁盘通过lsof | grep deleted 找到占用大空间的已删除文件完整路径使用输出重定向截断文件示例 /var/log/nginx/access.log该操作不会关闭进程句柄但会清空文件磁盘块瞬间释放空间批量处理场景编写简单循环脚本批量截断所有被删除的日志文件临时释放空间后择业务低峰期重启对应服务彻底释放句柄避免后续磁盘再次爆满。3.2 企业长期标准化根治优化方案全线服务器配置logrotate日志自动轮转工具按文件大小/时间自动切割、压缩、删除老旧日志logrotate内置文件截断逻辑不会产生句柄占用残留禁止运维直接使用rm命令清理正在被业务写入的活跃日志文件如需清理优先使用截断操作监控告警新增lsof deleted文件数量监控定时检测系统中已删除未释放句柄的文件数量超标提前推送告警避免磁盘突然爆满容器化业务统一使用容器日志驱动日志输出至stdout由宿主机日志收集工具统一管理减少宿主机本地大日志文件制定运维磁盘清理规范清理业务活跃日志后必须重启对应服务或截断文件同步记录操作台账防止遗忘句柄占用问题。四、高频故障排错清单现场实操各类磁盘空间异常场景故障现象根因分析标准解决方案df显示磁盘占用95%du统计全部目录仅占用40%容量差值巨大大量日志文件rm删除后业务进程仍持有文件句柄内核不回收磁盘块lsof | grep deleted 查找占用进程截断文件或重启服务释放空间lsof查询不到deleted文件但df和du占用差距依然很大存在挂载点嵌套覆盖、挂载临时文件系统遮挡原目录文件du无法读取底层文件临时卸载临时挂载目录重新执行du统计底层真实文件占用截断文件后磁盘空间立刻释放过几小时磁盘又快速涨满业务进程持续往日志文件追加数据仅截断未重启进程文件会持续增大业务低峰重启服务彻底释放句柄同时配置logrotate自动轮转日志服务器重启后df磁盘占用直接恢复正常空间全部释放服务器重启会杀死所有进程全部文件句柄强制释放内核回收所有空闲磁盘块紧急故障可临时重启服务器生产业务优先截断文件避免停机logrotate配置完成但删除日志后依旧存在句柄占用问题logrotate未配置copytruncate参数采用直接删除旧日志方式进程句柄不释放logrotate配置中添加copytruncate轮转时复制日志后截断原文件不直接删除五、运维高频误区避坑现场踩坑复盘总结1.误区rm删除文件后磁盘空间会立刻释放df数值会同步下降纠正rm仅删除目录入口只要有进程打开该文件磁盘块会持续占用df占用不会下降必须释放文件句柄才能回收空间。2.误区磁盘占用异常只需要逐层du查找大目录就能定位所有占用文件纠正du只能读取当前目录树存在的文件已删除仅句柄占用的文件du完全无法统计出现df/du差值必须使用lsof排查deleted文件。3.误区业务不能重启无法释放已删除文件占用的磁盘空间纠正使用 文件路径 截断操作无需重启进程直接清空文件磁盘占用临时快速释放磁盘空间适合业务不允许停机的紧急场景。4.误区日志清理直接rm删除最省事不需要配置logrotate工具纠正手动rm清理活跃日志极易产生句柄占用、磁盘不释放故障logrotate自动轮转搭配copytruncate参数从根源避免该类问题是生产标准规范。5.误区lsof看不到deleted文件就代表不存在隐藏磁盘占用纠正除了句柄占用文件挂载点嵌套、裸设备数据、数据库回滚日志、内核临时文件也会造成df/du占用差值lsof无输出时需要排查挂载覆盖场景。

相关新闻

地陪行业获客成本攀升,平台如何通过“向导经纪人”破局?

地陪行业获客成本攀升,平台如何通过“向导经纪人”破局?

近年来,地陪行业迎来了爆发式增长,越来越多的年轻人旅行时倾向于寻找本地人带玩。然而,据业内反馈,随着入局者增多,平台的获客成本正以每年15%-20%的速度攀升。 在流量红利逐渐见顶的当下,单纯依靠投放广告…

2026/7/24 21:56:51阅读更多 →
网络框架封装:基于http模块封装拦截器与统一响应类(44)

网络框架封装:基于http模块封装拦截器与统一响应类(44)

一、 定义统一的响应数据模型为了规范后端返回的数据结构&#xff0c;建议定义一个包含泛型的响应包装类&#xff0c;将 code、message 和核心 data 统一管理&#xff1a;// ResponseResult.ets export class ResponseResult<T> {code: number;msg: string;data?: T;con…

2026/7/24 21:56:51阅读更多 →
股票行业数据

股票行业数据

# -*- coding: utf-8 -*- import tushare as ts import time import pandas as pd import csv# Tushare token TUSHARE_TOKEN "ee5c0e991e17949cdafbcf8ec42321ef4bac94e9ca3474e4d62313a3" ts.set_token(TUSHARE_TOKEN) pro ts.pro_api()# 获取申万三级行业列表 d…

2026/7/24 21:56:51阅读更多 →
RAG系统文档分块策略与优化实践

RAG系统文档分块策略与优化实践

1. 为什么文档分块是RAG系统的命门&#xff1f;上周帮朋友排查一个RAG系统的问题&#xff0c;他们的医疗问答机器人总把"糖尿病治疗方案"回答成"妊娠期饮食建议"。当我打开原始文档才恍然大悟——300页的PDF被粗暴地按固定字符数切割&#xff0c;导致关键医…

2026/7/25 2:11:39阅读更多 →
网盘直链下载助手:一站式解锁九大网盘高速下载的智能解决方案

网盘直链下载助手:一站式解锁九大网盘高速下载的智能解决方案

网盘直链下载助手&#xff1a;一站式解锁九大网盘高速下载的智能解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘…

2026/7/25 2:11:39阅读更多 →
企业AI私有化部署的五大核心考量与实战经验

企业AI私有化部署的五大核心考量与实战经验

1. 企业AI私有化部署的核心考量去年给某制造业客户做AI质检方案时&#xff0c;他们CIO的一句话让我印象深刻&#xff1a;"上AI系统就像结婚&#xff0c;选型失误的离婚成本比谈恋爱高十倍。"这句话道破了企业AI私有化部署的关键——前期选型直接决定后期成败。作为实…

2026/7/25 2:11:35阅读更多 →
一次多模态项目从 0 到 1 的全程记录:三个月踩过的坑

一次多模态项目从 0 到 1 的全程记录:三个月踩过的坑

一次多模态项目从 0 到 1 的全程记录&#xff1a;三个月踩过的坑 一、个性化深度引言 这个项目启动于今年初&#xff0c;目标是为某客户做一个"图文商品属性自动提取"系统——上传电商商品图片&#xff0c;系统自动识别品类、品牌、规格参数&#xff0c;填入ERP系统。…

2026/7/25 2:11:34阅读更多 →
AI Agent如何实现全链路自动化营销

AI Agent如何实现全链路自动化营销

1. AI Agent如何真正成为营销领域的"超级员工"最近行业里关于"AI超级员工"的讨论越来越热&#xff0c;但真正能落地执行全流程营销任务的AI Agent并不多见。创客兔团队经过两年多的实战验证&#xff0c;确实打造出了一套能够真正"动手干活"的自动…

2026/7/25 2:11:34阅读更多 →
计算机毕业设计之基于Node.js+Vue的在线音乐播放系统的设计与实现

计算机毕业设计之基于Node.js+Vue的在线音乐播放系统的设计与实现

随着新经济的需求和新技术的发展&#xff0c;特别是网络技术的发展&#xff0c;如果可以建立起在线音乐播放系统&#xff0c;可以改变传统线下管理方式&#xff0c;在过去的时代里都使用传统的方式实行&#xff0c;既花费了时间&#xff0c;又浪费了精力。在信息如此发达的今天…

2026/7/25 2:09:34阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/25 1:01:14阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 1:01:14阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/25 1:01:14阅读更多 →
突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制&#xff1a;kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决您的…

2026/7/25 0:01:16阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述&#xff1a;为什么我们要“手撕”string类&#xff1f;在C的学习道路上&#xff0c;尤其是从C语言过渡到C的“初阶”阶段&#xff0c;string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了&#xff0c;、find、substr&#xff0c;几个操作符和函数…

2026/7/25 0:01:16阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看&#xff0c;“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具&#xff0c;而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源&#xff0c;比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:01:16阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/24 23:01:03阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/24 19:00:40阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/24 19:00:40阅读更多 →