/ full?

Carl Sappenfield CSAPPENFIELD at kc.rr.com
Sat Nov 30 16:52:08 CST 2002


If my suspicion is correct, and you don't stop the process which holds an
open descriptor to the deleted file, you will never get your space back.
Rebooting just seems to me the easiest way (on a home computer) to
accomplish this if you have no idea what process is causing the problem.
Let me describe in more detail what I think is going on:
du is telling you how much space you've actually used, and df is telling you
how much space the OS thinks you've used.  These numbers don't look like
they match to me.
(du looks at each file, and tells you how many bytes it takes up, and adds
these numbers up for each directory.
df asks the OS how much free space it thinks you have, and consequently how
much you've used.)
What happens (like I said, at least in AIX) is that if a file is deleted
while an open descriptor is held, the file name is taken out of the FAT.
That means du won't find it when it cumulates disk usage totals.  Because
the descriptor is held, though, the OS doesn't recognize that space as being
released, and df still reports the space as being used.
That descriptor will not be closed until the process holding it open is
stopped, at which point you will see your free space magically increase.

----- Original Message -----
From: "Duane Attaway" <dattaway at attaway.net>
To: "Carl Sappenfield" <CSAPPENFIELD at kc.rr.com>
Cc: <kclug at ItDepends.com>; <kclug at kclug.org>
Sent: Saturday, November 30, 2002 9:25 AM
Subject: Re: / full?

> On Sat, 30 Nov 2002, Carl Sappenfield wrote:
>
> > Looking at your du and df outputs reminds me of something I've seen in
AIX,
> > which may apply to Linux...
> > If I'm reading this right, du is implying you've only used about 2.5G in
> > your / partition (/ less /home).  df is saying it's almost 5.3G.  In
AIX,
> > this can happen when,  a file is deleted that a process is still writing
to.
> > The only way to get the space back is to shut down the process that was
> > writing to the now non-existant file.
> > I would just reboot and then see if du and df match.
>
> No, don't reboot!  Use du with the -x option to skip directories on
> different filesystems.  This is what you want.  Also, the -c option of du
> just gives the grand total.  Or if you want to see just part of the
> results of the list, you can use the --max-depth option to control the
> visual granularity.  So many options...
>
> By default du lists the cumulative total of the directory and all
> directories mounted upon it.  You will see them all added together like it
>




More information about the Kclug mailing list