DF & DU report different size

Rick Stevens rstevens at vitalstream.com
Wed Mar 30 19:41:40 UTC 2005


Tech Guy wrote:
> Hello,
> 
> I have a file system which is 12GB in size. I have oracle on this 
> filesystem. df shows me 100% on that filesystem but when I use du, I 
> find only 6GB is been used. I donot know where the rest 6GB is ?

df looks at the raw inode data for the partition, du looks at the
filesystem.

> I assume there are open files. I tried the command "fuser" on that 
> filesystem and I see 100s of processs which are oracle.
> I also tried lsof and see many processes again that are oracle.
> I am not sure if I can kill those processes
> 
> Has anyone know a better way to find which is using the diskspace and 
> how to clear it without having to reboot the server.

I don't think you have a problem.  Oracle will take all of the inodes
it can when it fires up, so df will show it as full.  Remember that
df and du look at different things.  For example, look at this on one of
my systems:

	[root at prophead root]# df -h /images
	Filesystem            Size  Used Avail Use% Mounted on
	/dev/hda2              40G   23G   15G  60% /images

	[root at prophead root]# du -hs /images
	46G     /images

So df shows me using 23GB on /images, but du shows 46G.  Why the
difference?  Look at the output of mount (extra stuff deleted):

	[root at prophead root]# mount
	/dev/hda2 on /images type ext3 (rw)
	/dev/hdb1 on /images/Archives type ext3 (rw)

See?  /images itself is only a 40GB partition and 23GB is used.
HOWEVER, /dev/hdb1 is mounted on /images/Archives, and:

	[root at prophead root]# du -hs /images/Archives
	24G     /images/Archives

So there's where the extra space is sucked up.  du is showing me that
23GB worth of inodes is in use, while du (when it examines the
filesystem) finds the 24GB on the other partition as well as the space
used on /images.

What I'm saying is that the Oracle partition has all of its inodes in
use (Oracle does that), but in actuality, only 6GB is in active
filesystems.  I don't think you have a problem.  You can check by
preventing Oracle from starting at boot and rebooting the system.  THEN
do your "df/du" stuff.  If you're satisfied then, start Oracle.
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
-         Microsoft Windows:  Proof that P.T. Barnum was right       -
----------------------------------------------------------------------




More information about the Redhat-install-list mailing list