huge difference between du and df - no open file descriptors
Paul Kraus
paul at kraus-haus.org
Wed Jul 30 15:42:42 UTC 2014
On Jul 30, 2014, at 11:32, Nils Effenberger <effenberger at work.de> wrote:
> root at zhoernchen:~ # dd if=/dev/zero of=/root/test bs=1024 count=3500000
>
> /: write failed, filesystem is full
> dd: /root/test: No space left on device
> 38849+0 records in
> 38848+0 records out
> 39780352 bytes transferred in 0.422187 secs (94224517 bytes/sec)
> root at zhoernchen:~ # df -h
> Filesystem Size Used Avail Capacity Mounted on
> /dev/mirror/root 4.8G 4.8G -395M 109% /
> devfs 1.0K 1.0K 0B 100% /dev
> root at zhoernchen:~ # rm test
> root at zhoernchen:~ # df -h
> Filesystem Size Used Avail Capacity Mounted on
> /dev/mirror/root 4.8G 4.8G -395M 109% /
> devfs 1.0K 1.0K 0B 100% /dev
>
> (Note that I deleted the 'test' file without effect.)
Is there a journal that has not completed checkpointing yet? I would see that with UFS under Solaris. Deletions would take a few seconds (or minutes if the fuel was large or the FS very full) to be reported by df.
> du(1) still shows 2.2G:
>
> root at zhoernchen:~ # du -shx /
> 2.2G /
>
> When I now try to create files I get ENOSPC :(
Are you dealing with lots of small files? I am no FreeBSD UFS expert, but under Solaris, space was allocated in minimum block sizes (there were blocks and frags, blocks were, by default 8KB and frags 1KB). So if you had a 512B file it would take up 1KB. du would show 512B used and df 1KB used. I do not know whether FreeBSD UFS has single or dual (or more) allocation units or what size they are. But that is one of the ways du and df differ.
du shows the size of the file
df shows the amount of space used in the filesystem
--
Paul Kraus
paul at kraus-haus.org
More information about the freebsd-questions
mailing list