Linux
Linux(ext3)中只有2個文件的目錄佔用32000塊(16Mbytes)
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。
一旦不再使用,文件系統不一定會從目錄中回收塊。