关于linux磁盘告警问题

案例:我们在执行df命令时,查看到磁盘利用率很高,但是到相对应的目录执行du -sh *来找大文件时进行删除时,发现各个目录相加并不大,如下图:

使用df命令查看到根(/)目录使用到33G,而du命令显示只使用了2.5G

分析:

df命令:显示的是文件系统级别的磁盘空间使用情况,包括已用空间、可用空间以及挂载点等信息。通过df命令,可以得知各个分区的总空间、已用空间和剩余空间,从而了解磁盘的使用状况

du命令:du更侧重于展示文件和目录级别的磁盘占用情况,只计算文件或目录占用的磁盘空间。这个命令通常用来查找占用空间大的文件或者目录,帮助我们定位可能的磁盘空间浪费问题

当出现上述的情况的时候,我们应该怀疑是否有文件删除了,导致du 命令查找时未找到该文件,但是打开的进程还是在占用该文件,此时磁盘空间并不会得到释放,从而导致:

使用df命令查看磁盘使用率时,这些已删除未释放的文件会被统计到,而du只统计未删除的文件,从而导致两者的结果相关较大。

处理方法:

使用 lsof 命令可以显示已删除的文件,将有问题的进程/服务重启,磁盘空间就会得到释放

1.查看已删除但未释放的文件

lsof | grep delete

此时可以看到/var/log/test.log文件已经删除,但还在被tail命令占用,占用文件的进程ID可以看到是4163;

在使用ls命令时,已经查看不到该文件了

2.杀进程并验证

将异常进程关闭后,使用df命令查看磁盘空间时显示结果正常。

相关推荐
德迅云安全_初启13 小时前
2026年十大危险DNS攻击类型及预防措施
linux·服务器·网络
之歆13 小时前
Bash 循环与函数、Linux 进程管理
linux·chrome·bash
何中应13 小时前
CentOS7安装Maven
java·运维·后端·maven
IPDEEP全球代理13 小时前
动态住宅IP与动态数据中心IP有什么不同?
运维·网络
Volunteer Technology14 小时前
LangGraph的WorkFlow(二)
linux·windows·python
Maynor99614 小时前
OpenClaw 中转站配置完全指南
linux·运维·服务器·人工智能·飞书
Tinyundg14 小时前
Linux中的文件权限
linux·运维·服务器
网云工程师手记14 小时前
防火墙接口配置与运维实战(通用版)
运维·服务器·网络·网络协议·网络安全
FoldWinCard14 小时前
Python 第五次作业
linux·windows·python
China_Yanhy14 小时前
转型AI运维工程师·Day 10:拥抱“不确定性” —— 断点续训与 Spot 实例抢占
运维·人工智能·python