2005-12-01 15:33:00

by Chris Friesen

[permalink] [raw]
Subject: discrepency between "df" and "du" on tmpfs filesystem?


Someone noticed this on one of our machines. The rootfs is a 256MB
tmpfs filesystem. Depending on how you check the size, you get two
different answers.


[email protected]:/root> df -hl
Filesystem Size Used Avail Use% Mounted on
rootfs 256M 250M 6.4M 98% /
none 32M 116K 32M 1% /tmp

[email protected]:/root> df -kl
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 262144 255684 6460 98% /
none 32768 116 32652 1% /tmp

[email protected]:/root> du -sxk /
204672 /

[email protected]:/root> du -sxh /
200M /

Anyone know what's going on?

Chris


2005-12-01 16:41:38

by Hugh Dickins

[permalink] [raw]
Subject: Re: discrepency between "df" and "du" on tmpfs filesystem?

On Thu, 1 Dec 2005, Christopher Friesen wrote:
>
> Someone noticed this on one of our machines. The rootfs is a 256MB tmpfs
> filesystem. Depending on how you check the size, you get two different
> answers.
>
> [email protected]:/root> df -kl
> rootfs 262144 255684 6460 98% /
>
> [email protected]:/root> du -sxk /
> 204672 /
>
> Anyone know what's going on?

df tells you what the filesystem says is in use or free, via statfs.
du goes looking at the contents of the filesystem, totalling stats.
Any files unlinked but held open will be counted by df but not by du.
There might also be a discrepancy over indirect blocks, I'm not sure.

Hugh

2005-12-01 17:44:11

by Andreas Schwab

[permalink] [raw]
Subject: Re: discrepency between "df" and "du" on tmpfs filesystem?

Hugh Dickins <[email protected]> writes:

> On Thu, 1 Dec 2005, Christopher Friesen wrote:
>>
>> Someone noticed this on one of our machines. The rootfs is a 256MB tmpfs
>> filesystem. Depending on how you check the size, you get two different
>> answers.
>>
>> [email protected]:/root> df -kl
>> rootfs 262144 255684 6460 98% /
>>
>> [email protected]:/root> du -sxk /
>> 204672 /
>>
>> Anyone know what's going on?
>
> df tells you what the filesystem says is in use or free, via statfs.
> du goes looking at the contents of the filesystem, totalling stats.
> Any files unlinked but held open will be counted by df but not by du.
> There might also be a discrepancy over indirect blocks, I'm not sure.

Also an empty filesystem usually does not have zero use, since the
filesystem overhead (inode table, etc) may be accounted in the statfs
counts.

Andreas.

--
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstra?e 5, 90409 N?rnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."