私は一つ持っていますfile
が、サイズを知りたいです。コンピュータ1では、次のようになります。
$ ls -lh file
> -rw-r--r--. 1 user group 441 May 30 15:41 file
コンピュータ2では、
$ ls -lh file
> -rw-r--r--. 1 user group 441 May 30 15:41 file
わかりました彼らは同意します。ファイルサイズは441バイトです。しかし、今du
コンピュータ1は次のものを使用します。
$ du -h file
> 1.0K file
コンピュータ2から:
$ du -h file
> 32K file
なぜ彼らは同意しないのですか?ファイルシステムのクラスタサイズに関連していると思います。数百メガバイトのフルサイズを持つ複数のサブフォルダとファイルを含むフォルダは、コンピュータ1のサイズよりもコンピュータ2のサイズが約2倍大きくなります。マシン2でクラスタサイズを使用するのはなぜですか?一般的なファイルサイズに応じてより多くのスペースを占めます。
コンピュータ1のファイルシステムはafsであり、コンピュータ2のファイルシステムはnfsである。
答え1
アクセス時間が遅いストレージデバイス(NFSなど)または高性能を必要とするデータを格納するストレージデバイス(トランザクション数が非常に多いデータベーステーブル)のブロックサイズには、最小化するためにより大きなブロックを持つファイルシステムサイズが必要または必要ですします。ディスクI / Oを実行して、I / Oパフォーマンスによる遅延を最小限に抑えます。したがって、ブロックサイズが大きいほど、各ファイルの末尾に「ゆるい」スペース(つまり無駄なスペース)が発生する可能性が高くなります。