0

0

Linux磁盘空间不足处理_df与du排查思路【技巧】

冰川箭仙

冰川箭仙

发布时间:2025-12-30 17:43:11

|

215人浏览过

|

来源于php中文网

原创

Linux磁盘空间不足排查需协同使用df与du:先用df -h和df -i确认文件系统级占用及inode耗尽情况,再用du -sh配合--max-depth定位高占用目录,结合find筛选大文件,最后用lsof +L1识别已删未释文件。

linux磁盘空间不足处理_df与du排查思路【技巧】

如果您发现 Linux 系统提示磁盘空间不足,但无法快速定位具体原因,则很可能是由于文件系统实际占用与目录统计结果不一致所致。df 与 du 的差异常掩盖真实瓶颈,以下是基于二者协同使用的精准排查步骤:

一、确认全局磁盘使用状态

df 命令反映的是文件系统级的磁盘占用,包含保留空间、已删除但未释放的 inode 等,是判断“是否真满”的第一依据。它不依赖文件遍历,结果实时且权威。

1、执行 df -h 查看各挂载点使用率,重点关注 Use% ≥90% 的分区。

2、对高占用分区(如 /var/home)单独运行 df -i 检查 inode 是否耗尽。

3、若某分区 df 显示已满但 du 统计远小于此,需怀疑存在被删除但仍被进程占用的文件或挂载点干扰。

二、定位高占用目录(du 基础扫描)

du 命令从指定路径出发递归统计文件块占用,用于识别“谁在吃空间”。必须配合合理参数避免误统计或性能阻塞。

1、进入疑似高占用挂载点根目录,例如 cd /var

2、运行 du -sh * 2>/dev/null | sort -hr | head -n 10 列出子目录前十名汇总大小。

3、对排位靠前的目录重复执行相同命令,逐层下沉,例如 du -sh log/* 2>/dev/null | sort -hr | head -n 5

三、深度筛选大目录(max-depth 控制)

当目录层级过深时,全量递归效率低且结果杂乱。--max-depth 参数可限定统计深度,聚焦主干路径,避免陷入冗余子树。

1、在根目录下执行 du -h --max-depth=1 2>/dev/null | sort -hr 获取一级目录总览。

2、对占用突出的一级目录(如 /var),再执行 du -h --max-depth=2 /var 2>/dev/null | grep -E "G|T" | sort -hr 提取 GB/TB 级子路径。

3、将输出结果中含 /log/cache/tmp 的行作为重点清理对象。

四、搜索孤立大文件(find 高效补位)

du 对海量小文件遍历缓慢,而 find 可直接按 size 属性筛选,适合快速捕获单体超限文件,尤其适用于日志、core dump、临时归档等典型场景。

1、在目标分区执行 find /var -type f -size +500M -exec ls -lh {} \; 2>/dev/null

2、限制查找范围以提升速度:例如仅扫日志目录 find /var/log -name "*.log" -size +100M -exec ls -lh {} \;

3、对匹配到的大文件,用 lsof -nP +L1 | grep /var 检查是否被进程持续写入或持有句柄。

五、识别隐藏空间占用(已删未释/跨文件系统)

部分空间不体现于普通 du 结果中:一是已被 rm 删除但进程仍打开的文件;二是挂载子目录被 du 无差别计入,导致虚高。这两类必须专项验证。

1、检查已删除但仍在占用空间的文件:lsof +L1,重点关注 TYPE 列为 REG 且 NAME 含 (deleted) 的条目。

2、确认是否存在挂载干扰:在 / 下执行 du -xsh * 2>/dev/null | sort -hr,-x 参数强制限制在同一文件系统内统计。

3、对 lsof 发现的 deleted 文件,记录其 PID,执行 kill -HUP PID 尝试安全释放,或重启对应服务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

228

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

433

2024.03.01

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

378

2023.09.04

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1344

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

698

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

293

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

773

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

571

2023.07.06

桌面文件位置介绍
桌面文件位置介绍

本专题整合了桌面文件相关教程,阅读专题下面的文章了解更多内容。

0

2025.12.30

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.2万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号