du与df显示结果不一致

本文通过实例展示了当文件被删除但仍在使用时,df与du显示的磁盘使用情况不同。通过lsof命令可以找到被删除但占用空间的文件,并通过清理相关进程来释放空间。这一过程对于理解文件系统管理和故障排查至关重要。
摘要由CSDN通过智能技术生成

df与du统计方式不同,当文件被删除,但仍被占用时,du不会进行统计。

使用 lsof |grep delete 查找文件,并清除占用进程即可恢复。

实验如下:

1.查看当前使用情况

[root@ms10 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        16G  8.8G  7.1G  56% /
devtmpfs        909M     0  909M   0% /dev
tmpfs           920M     0  920M   0% /dev/shm
tmpfs           920M  8.9M  911M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
/dev/sda1       197M  154M   44M  79% /boot
tmpfs           184M     0  184M   0% /run/user/0

2.创建一个2G文件

[root@ms10 ~]# dd if=/dev/zero of=/tmp/test.dmp bs=1M count=2000
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB) copied, 1.9132 s, 1.1 GB/s

3.检查文件系统使用率

[root@ms10 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        16G   11G  5.1G  68% /
devtmpfs        909M     0  909M   0% /dev
tmpfs           920M     0  920M   0% /dev/shm
tmpfs           920M  8.9M  911M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
/dev/sda1       197M  154M   44M  79% /boot
tmpfs           184M     0  184M   0% /run/user/0
[root@ms10 ~]# ll -h /tmp/
total 2.0G
-rw-r--r-- 1 root root 2.0G Mar  6 14:42 test.dmp
[root@ms10 /]# du -sh tmp
2.0G	tmp

4.新开一个窗口打开该文件

[root@ms10 tmp]# tail -f test.dmp 

5.删除文件并检查使用率

[root@ms10 /]# rm -f /tmp/test.dmp 
[root@ms10 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        16G   11G  5.1G  68% /
devtmpfs        909M     0  909M   0% /dev
tmpfs           920M     0  920M   0% /dev/shm
tmpfs           920M  8.9M  911M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
/dev/sda1       197M  154M   44M  79% /boot
tmpfs           184M     0  184M   0% /run/user/0
[root@ms10 /]# du -sh tmp
0	tmp

[root@ms10 /]# ll -h /tmp/
total 0

根据方式显示,发现du显示文件被清除,但df显示使用率没有变化。
5.查找被删除但仍被占用的文件

[root@ms10 /]# lsof | grep delete
tail      6137         root    3r      REG                8,3 2097152000    8388686 /tmp/test.dmp (deleted)

清理占用进程

[root@ms10 /]# ps -ef | grep 6137
root      6137  6106  7 14:49 pts/1    00:00:11 tail -f test.dmp
root      6166  6080  0 14:52 pts/0    00:00:00 grep --color=auto 6137
[root@ms10 /]# kill -9 6137

6.再次检查使用率

[root@ms10 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        16G  8.8G  7.0G  56% /
devtmpfs        909M     0  909M   0% /dev
tmpfs           920M     0  920M   0% /dev/shm
tmpfs           920M  8.9M  911M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
/dev/sda1       197M  154M   44M  79% /boot
tmpfs           184M     0  184M   0% /run/user/0
[root@ms10 /]# du -sh /tmp
0	/tmp

空间已被释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DBA大董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值