理由がわかりませんls -l
はブロックサイズよりも小さいフォルダサイズを示します。
例えば:
[user@01 NEW]$ ls -l
total 4
drwxr-xr-x 5 root root 78 Apr 22 00:43 controllers
drwxr-xr-x 14 root root 4096 Apr 22 00:44 schemas
drwxr-xr-x 2 root root 38 Apr 22 00:44 spinner
「controllers」はディレクトリで、ブロックサイズは4096バイトですが、なぜサイズが78バイトなのですか?
[user@01 NEW]$ find controllers/ -type f | wc -l
73
多くのファイルが中にあります。そしてdu -hs
は、このフォルダのサイズが840Kであることを示しています。
もう1つの奇妙なことは、ls -s
は、この2つのディレクトリに0ブロックが割り当てられていることを示しています。
[user@01 NEW]# ls -ls
total 4
0 drwxr-xr-x 5 root root 78 Apr 22 00:43 controllers
4 drwxr-xr-x 14 root root 4096 Apr 22 00:44 schemas
0 drwxr-xr-x 2 root root 38 Apr 22 00:44 skins
xfs_info:
xfs_info /
meta-data=/dev/disk/by-uuid/5d87d678-e4cc-445f-b770-4e4c0357faaa isize=256 agcount=4, agsize=393088 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=1572352, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Ext4フォルダーでは、サイズは通常です(つまり、ブロックサイズと同じです)。
ディレクトリがほとんど空であるため、サイズは78バイトです。 「ディレクトリ」とは、そのフォルダの直系の子孫コンテンツを意味します。
.../controllers/
Class1/Whatever
/Resources...
Class2/Whatever
/Resources...
その場合、「コントローラー」には3つのエントリしかありません(..、Class1およびClass2。実際に..が保存されているかどうか、またはどのように保存されているかは正確にはわかりません)。
ディスク上でディレクトリが1つのブロック全体を占める場合でも、したがって4K(ただし以下を参照... )、ディレクトリ論理サイズは78バイトのままで、多くの点でファイルとして扱われます( XFSホワイトペーパー はディレクトリファイルと呼びます)。 controllers
のすぐ下に新しいオブジェクトを作成すると、そのサイズが増加すると思います。
また、非常に小さなディレクトリを iノード内に格納できるため、実際のブロックを占有することはありません。
非常に小さなファイル
ほとんどのシンボリックリンクとディレクトリファイルは小さなファイルです。 XFSでは、パフォーマンスを向上させるために、これらのファイルをiノードに格納にすることができます。 XFSはまた、遅延書き込みを使用して、ディスクに書き込む前に、バッファキャッシュ内の小さなファイル全体を収集するのを待ちます...
要約すると、私が理解している限り、あなたは
XFS iノード内でディレクトリファイル用に使用できるスペースは、私のLinuxシステムでは約156〜157バイトのようです。超過すると、4Kブロックが使用されますが、スペースを解放するとブロックも解放され、情報がiノードに格納されます。
mkdir temp
drwxr-xr-x 2 root root 6 2013-04-22 08:59 temp
touch temp/x; ls -la temp
drwxr-xr-x 2 root root 14 2013-04-22 09:00 temp
mv temp/x temp/{ 100 x's }
drwxr-xr-x 2 root root 113 2013-04-22 09:01 temp
{ 130 x's }
drwxr-xr-x 2 root root 143 2013-04-22 09:02 temp
{ 140 x's }
drwxr-xr-x 2 root root 153 2013-04-22 09:02 temp
{ 146 x's }
drwxr-xr-x 2 root root 4096 2013-04-22 09:03 temp
{ 142 x's }
drwxr-xr-x 2 root root 155 2013-04-22 09:03 temp