为什么du和df不一致?

我的目录结构如下

[bash]root@bbs:[/root]df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda4 26G 13G 13G 50% /
/dev/sda3 479M 26M 428M 6% /boot
tmpfs 501M 0 501M 0% /dev/shm
/dev/sda5 20G 6.4G 12G 36% /blog
/dev/sda6 97G 42G 51G 46% /opt/lampp/htdocs/discuz/bbs/attachments
[/bash]

我一看,根目录已经50%了
就cp apache的日志到 /blog/里面去了,然后用sftp删除了原来apache的日志(用cp复制,但是用sftp删除的),结果一个df -h 发现/blog目录的占用是上去了。但是根目录还是占用50%
于是我用ncdu来exclude掉blog和attachments两个目录,发现实际占用只有到8GB

[bash]ncdu --exclude blog --exclude attachments /[/bash]

运行结果:

[bash]ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
--- / --------------------------------------------------------------------------
3.9GiB /opt
2.8GiB /usr
686.8MiB /var
232.8MiB /root
145.8MiB /lib
123.2MiB /etc
72.6MiB /bbs
53.8MiB /home
31.0MiB /sbin
15.7MiB /boot
7.0MiB /bin
1.8MiB /tmp
124.0kiB /dev
e 16.0kiB /lost+found
e 8.0kiB /media
e 8.0kiB /mnt
e 8.0kiB /selinux
e 8.0kiB /srv
8.0kiB /var1
e 8.0kiB /var2
0.0 B /proc
Total disk usage: 8.0GiB Apparent size: 8.4GiB Items: 266766
[/bash]

我还是不相信,就用du计算了一下

[bash]du -h --summarize --exclude=attachments --exclude=blog /
[/bash]

得到的结果8.1G,和ncdu相差无几
我还是不敢相信自己的眼睛

8G/26G=50%?????????

13-8=5GB

那个5GB那里去了?
不是被我删除的那个日志么?》
怎么还没释放???
于是我

[bash]cat /dev/null >/blog/acces_log[/bash]

结果运行df -h 一看,blog的占用是下去了,可是根目录的占用还是没掉

咋回事?

是我脑残了还是???


经过linuxtoy牛人的指点,restart了一下apache,才释放,看来,以后不能老用reload了

参见红帽知识库

Author Info :
  • From:为什么du和df不一致?
  • URL:https://blog.ihipop.com/2010/03/802.html
  • Please Reserve This Link,Thanks!
  • 《为什么du和df不一致?》上有1条评论

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注