1,000,000ファイルの100GBディスクは、実行時に100ファイルの100GBディスクよりも時間がかかりますfsck
か?
1,000,000ファイルの100GBディスクは、実行時に100ファイルの100GBディスクよりも時間がかかりますfsck
か?
回答:
これは、ファイルシステムと、fsckで使用するスイッチによって異なります。
何fsck
でチェックして修復しようとすると、スイッチなしで呼び出されたときに行いfsckは何のかなり詳細な説明を提供します。
一定の時間がかかるチェック(スーパーブロックチェックなど)、fsckが処理する必要があるiノードの数に依存するチェック(リンクカウントチェックなど)、ファイルシステムのサイズに依存するチェック(通常のデータなど)ブロックチェック)。
なければ-c
スイッチ、fsckは通常のファイルの内容を確認しないので、ファイルのサイズは関係ありません。不良ブロックをチェックする場合でも、実行時間はファイルシステムのサイズによってのみ増加します。パーティションのどの部分が占有されているかは、実行時間に影響しません。1
ファイルシステムのiノードの数は一定です。つまり、作成時に決定されます。各ファイルのメタデータは、そのようなiノードの1つに保存されます。ext4によると、未使用のiノードはext4ではマークされていますが、ext3ではマークされていません。したがって、fsckの実行時間はext4のファイル数に応じて増加しますが、ext3では一定(および高い)です。
次の図にこれを示します。
異なるファイル数が異なる色で表されていることに注意してください。210万、10万、さらにはゼロのファイルを含むext3のグラフは同じです。2.1Mおよび100kファイルのext4のグラフは、それぞれ大きな違いを示しています。
対照的に、実行時間はext3のiノードの数とともに増加しますが、未使用のiノードはext4の実行時間に影響しません。
1fsck -c
空のパーティションで実行して経験的に検証しました。