0

0

Linux系统通过DU与DF命令监控磁盘空间及文件大小异常

冰川箭仙

冰川箭仙

发布时间:2026-03-14 12:39:31

|

184人浏览过

|

来源于php中文网

原创

du统计可见文件实际磁盘占用,df读取文件系统超级块显示整体空间;差异常导致“磁盘满但du总和小”,主因是已删未释放文件、日志堆积或容器残留。

linux系统通过du与df命令监控磁盘空间及文件大小异常

Linux系统中,du(disk usage)和df(disk free)是两个最常用、最基础的磁盘空间分析命令,但它们作用不同、统计逻辑不同,常被误用或混淆。当发现磁盘“明明没存多少文件却显示已满”,或“删除大文件后空间未释放”,往往就和这两个命令的差异有关。

df 显示的是文件系统级别的可用空间

df读取的是文件系统超级块(superblock)中的元数据,反映的是整个挂载点(如 /、/home)的总容量、已用、可用空间,单位默认为KB。它不关心具体有哪些文件,只看底层块设备的分配状态。

  • 运行 df -h 可以直观看到各挂载点的使用率,重点关注 Use% 列是否超阈值(如 ≥90%)
  • 注意 Available 不等于 Used + Avail = Size:ext4等文件系统会为 root 预留 5% 空间(可通过 tune2fs -l /dev/sdXn | grep "Reserved block count" 查看),普通用户看不到这部分,df 却计入了“可用”统计
  • 若 df 显示已满,但 du 扫描目录总和远小于此,常见原因是:已删除但进程仍在占用的文件(lsof + deleted)、日志轮转未清理、或容器/虚拟机镜像残留

du 统计的是目录树中实际可见文件的磁盘占用

du 逐个遍历指定路径下的文件与子目录,累加其 实际占用的磁盘块数(非文件大小,考虑稀疏文件、硬链接、块对齐等)。它反映的是“当前能看见的、可遍历到的数据量”。

PatentPal专利申请写作
PatentPal专利申请写作

AI软件来为专利申请自动生成内容

下载
  • 常用组合:du -sh /var/* | sort -hr | head -10 快速定位 /var 下最大的10个子目录
  • 避免权限干扰:加 2>/dev/null 屏蔽 “Permission denied” 报错,否则可能漏掉关键路径(如 /root、/proc)
  • 注意硬链接:同一 inode 多次出现时,du 默认只计算一次;若需按“每个路径独立计数”,加 --apparent-size(但该值≠真实磁盘占用)

du 和 df 结果不一致?先排查这三类典型异常

df -h 显示根分区 98% 已用,而 du -sh /* 2>/dev/null | sort -hr 总和仅 20GB,说明有“看不见”的空间消耗。优先检查:

  • 已删除但未释放的文件:执行 lsof +L1lsof | grep deleted,找到仍在打开状态的已删文件,重启对应进程或手动清空(如 echo > /proc/PID/fd/FD_NUM
  • 日志或临时文件堆积:检查 /var/log/journal(systemd-journald 日志)、/var/log/audit//tmp/var/tmp,用 journalctl --disk-usage 查看 journal 占用
  • 容器或快照残留:Docker 用户运行 docker system dfdocker system prune -a;LVM 用户检查 lvs 是否存在未删除的 snapshot;Kubernetes 节点注意 /var/lib/kubelet/pods 中 orphaned volumes

日常监控建议:简单有效,避免救火式运维

不要等磁盘爆满才查。把基础检查变成自动化习惯:

  • 每天定时执行:df -h | awk '$5+0 > 90 {print $0}',对使用率>90% 的挂载点告警
  • 每周扫描大目录:du -sh /var/* /home/* 2>/dev/null | awk '$1 ~ /[0-9]+[G]/ {print}',关注 GB 级别以上的异常增长
  • 关键服务日志目录(如 /var/log/nginx、/var/log/mysql)配置 logrotate,并验证 logrotate -d /etc/logrotate.d/nginx 模拟是否生效
  • 在 /etc/fstab 中为重要分区启用 noatimediscard(SSD),减少无谓IO,间接延缓碎片与空间管理开销

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

686

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

514

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

287

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

519

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

267

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

392

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

542

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

668

2023.08.14

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

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

精品课程

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

共48课时 | 10.6万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

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

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