On Wed, Feb 15, 2012 at 12:14 PM, Bob Proulx <b...@proulx.com> wrote:

> Bilal mk wrote:
> > I tried to remove 5GB directory. In that directory around 30000 files and
> > directory. It will take more than 30 min to complete.
>
> A large number of files consuming a large number of blocks will take a
> significant amount of time to process.  That is all there is to it.
>
> Some filesystems are faster than others.  What filesystem are you
> using?  On what type of cpu?
>
> If you happen to be destroying an entire filesystem then you could
> simply destroy the entire filesystem by unmounting it and then making
> a new filesystem on top of it..
>
> > There is no other cpu intensive process running. After sometime it goes
> to
> > D state and unbale to kii that process.
>
> If you have processes stuck in the D state (uninterruptible sleep)
> then something bad has happened.  This would indicate a bug.
>
> It sounds like you are having kernel bugs.  You may need to fsck your
> filesystems.  I would double check that dma is enabled to your drives.
>

I am using xfs filesystem and also did the fsck. DMA is enabled.
Also perfomed xfs defragmentation( xfs_fsr). But still an issue not only rm
-rf but also cp command

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1134  0.0  0.0      0     0 ?        *D*    10:18   0:00
[kdmflush]

I have also tested disk with smartmontools. But reported no issues.

My kernel version is 2.6.32-5-amd64. I have also used same
configuartion(same kernel) and same hardware on another machine. But on
that machine there is no issue.

Is it a kernel bug or hardware issue. Any suggestion for troubleshooting or
fix this issue.

Thanks



> > I have also tried find with xargs method to remove. It will also take
> long
> > time to complete
> > find /directory | xargs rm -rf
>
> I doubt the problem is in rm since it has already been optimized to be
> quite fast.  The newer versions have even more optimization.  But it
> isn't worth the trouble to do anything other than wait.  Most of the
> time will be spent in the kernel organizing the now free blocks.
>
> If you want to experiment you could try find.
>
>  find /directory -depth -delete
>
> That is basically the same as rm -rf but using find only.
>
> Bob
>

Reply via email to