Link to home
Start Free TrialLog in
Avatar of s_mack
s_mack

asked on

speedy du?

I'm using the command:

du --max-depth=1 -h /home

To get a "quick" (yeah right) overview of my user's disk usage.  The problem is, that it takes between 20 and 35 minutes to finish displaying the results.  And that's with under 20 users!  I plan on having a couple hundred!

The machine is only a few months old, but it is kind of low-end (2.4Ghz Celeron, IDE drives) - however, I can't imagine that really being the problem.

Windows can report back file size on folders dozens deep containing tens of thousands of files in a couple of minutes... is there a way to achieve this with Linux (indexing?).

Thanks.
Avatar of jlevie
jlevie

The time required for du to work on a given disk is essentially a funcion of the number of files/dirs it has to check. For each file du executes a stat() to determine the size.

Unless you've got a lot of data already in /home it seems to me that 20-35 minutes is way too long.  The laptop I'm using right now has about 43k files using about 25Gb of disk. Executing 'du --max-depth=1 -h /home' takes about 15 seconds. So I wonder if you've got some sort of a problem with disk I/O or memory starvation?
Avatar of s_mack

ASKER

well, the home directory is 170GB with ~1.2 million files.  I didn't realize there were that many files, so maybe it just takes that long.
That would take a while.
Avatar of s_mack

ASKER

Is there anything other than DU that could perhaps give a summary quicker?

I mean - df does its job in seconds, regardless of how much data is used.  I suppose I could mount each user seperately and just use df... but is there perhaps a df-like utility that could work for me?  I don't need the detail that du does.. .just a summary.
ASKER CERTIFIED SOLUTION
Avatar of jlevie
jlevie

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of s_mack

ASKER

Thanks.