web-dev-qa-db-ja.com

NTFSのマスターファイルテーブルに対するディスクの最適化の影響は何ですか?

私の意見では、MFTはすべてのファイルの説明(名前、セキュリティ、属性のリストなど)を格納するため、ディスクの最適化はMFTのコンテンツに影響を与えません。私は正しいですか?

1
WizardC

ディスクの最適化はMFTとは関係がないという事実は正しいです。

NTFSファイルシステムは、MFTが大きくなるにつれて、MFTを可能な限り連続して維持するためにMFT用のスペースを予約します。各ボリュームでMFT用に予約されているスペースは、MFTゾーンと呼ばれます。ファイルとディレクトリ用のスペースは、MFTゾーン外のすべてのボリュームスペースが割り当てられた後にのみ割り当てられます。 MFTがフラグメント化されるには、ディスクが複数の小さなファイルでほぼいっぱいになっている必要があります。

さらに、ファイルルックアップを最適化するために、NTFSは、MFTの周囲のクラスターを他のファイルに割り当てないことにより、MFTの最適化を維持しようとします。

私の知る限り、MFTゾーンは必要に応じて200 MBのチャンク(数は最新ではない可能性があります)で割り当てられ、200,000を超えるファイルを記録するのに十分です。最初の200MBがいっぱいになると、新しいゾーンがディスク上の任意の場所に割り当てられます。これらの200MBのチャンクをデフラグできますが、これはおそらく気にする価値はありません。

1
harrymc

私が知ることができた限り:

ディスクデフラグツールは、MFTが断片化されると、MFTを最適化できません。ただし、MFTはディスク上の他のすべてのファイルにアクセスするために常に使用されているため、徐々に断片化され、ディスクアクセス時間が長くなり、パフォーマンスが低下します。 NTFSは、MFT専用に合計ディスク容量の8分の1を予約することにより、この影響を最小限に抑えます。ディスクのこの領域(MFTゾーンと呼ばれます)は、MFTが大きくなるにつれて可能な限り連続した状態を保ちます。もっと ここ

言及する価値がある:

MFTゾーンは、ユーザーデータファイルに使用される使用可能な(空き)ドライブスペースから差し引かれません。最後に使用されるのはスペースのみです。新しいファイルやディレクトリを作成した場合など、MFTのサイズを大きくする必要がある場合は、最初にMFTゾーンから取得されるため、MFTの断片化が減少し、MFTのパフォーマンスが最適化されます。デフォルトのMFTゾーンは、ボリュームをマウントするときにNtfs.sysによって計算および予約され、ボリュームサイズに基づいています。以下に記載されているレジストリエントリを使用してMFTゾーンを増やすことはできますが、デフォルトのMFTゾーンをNtfs.sysで計算されたものより小さくすることはできません。 MFTゾーンを増やしても、ユーザーがデータファイルに使用できるディスク容量は減りません。

必要に応じて、MFTを最適化できるソリューションがあります。

いくつかの推奨事項については、こちらをご覧ください 質問

0
Leshy