Linux

Linux(ext3)中只有2個文件的目錄佔用32000塊(16Mbytes)

  • August 26, 2011

IIRC 我的作業系統類,Linux 中目錄的大小由它包含的文件數給出(

$$ wikipedia link $$) 1 那麼,為什麼一個只有 2 個文件的目錄會佔用 32000 個塊呢?

# stat .
 File: «.»
 Size: 16855040        Blocks: 32968      IO Block: 4096   directorio
Device: 6805h/26629d    Inode: 3047425     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  501/   jboss)   Gid: (  501/   jboss)
Access: 2011-08-26 12:00:20.000000000 +0200
Modify: 2011-08-26 10:58:07.000000000 +0200
Change: 2011-08-26 10:58:07.000000000 +0200

該目錄在過去的某個時候可能有很多文件(數千個),但現在沒有。這裡發生了什麼事?

您的目錄可能已經執行了很多操作,並且作業系統尚未回收已使用的空間。您可以通過改組來解決此問題,如果呼叫了耗盡所有空間的目錄,bigdir那麼您可以

mkdir newdir
mv bigdir/* newdir
rmdir bigdir
mv newdir bigdir

確保在您進行洗牌時不會訪問 bigdir。

一旦不再使用,文件系統不一定會從目錄中回收塊。

引用自:https://serverfault.com/questions/305225