2017年1月11日水曜日

Linux ディスク使用量とブロックサイズについて

Linuxのファイルとディレクトリの、サイズやディスク使用量を取得する主なコマンドとして、
    df コマンド
    du コマンド
    ls コマンド(-l オプション)
があります。

ディスク使用量とは、実際にディスクへ割り当てられた大きさを意味しています。

ディスクはブロックサイズ毎に割り当てられるため、ディスク使用量は最低でも必ずブロックサイズと同じになります。
つまり、ブロックサイズが4kの場合、どんなに小さなファイルを作っても、ディスク使用量は必ず4kになります。
また、どのような大きさのファイルを作成しても、必ず4kで割り切れるディスク使用量になります。

各ディスクのブロックサイズは、コマンドで変更が出来ます。

ブロックサイズを大きくした場合、
    メリット…ディスクへの書き込み速度が向上する
      ※ブロックサイズ単位で(ディスク容量が割り当てられて)ディスクへ書き込みが実行されるため
    デメリット…作成できるファイル(ディレクトリも)が少なくなる
      ※ブロックサイズ単位でディスク容量が割り当てられるため

ブロックサイズを小さくした場合、(大きくした場合の逆ですが)
    メリット…作成できるファイル(ディレクトリも)が多くなる
    デメリット…ディスクへの書き込み速度が低下する

あらかじめ、主にサイズが大きいファイルの数が多いことが見込まれる場合は、ブロックサイズを調節すると、パフォーマンスの向上を期待できます。
ただし、本来あまりディスク容量を必要としないファイル(小さなファイルやディレクトリ)を作成した場合もブロックサイズ分のディスク容量が割り当てられてしまうので、留意が必要です。

ディスクへの書き込み速度が影響するのは、ブロックサイズ以上のファイルを作成した場合です。
また、ディスクへ作成できるファイル(ディレクトリ)の数は、i-node数を越えることは出来ません。

ご指摘、ご質問などはコメントへお願いします。

0 件のコメント:

コメントを投稿