すべてのプロダクト
Search
ドキュメントセンター

:Windows NTFSファイルシステム内の多数の小さなファイルがスペース統計例外を引き起こす場合はどうすればよいですか?

最終更新日:Dec 13, 2024

このトピックでは、次の問題の原因とその問題を解決する方法について説明します。Windows New Technology File System (NTFS) ファイルシステム内の多数の小さなファイルが、スペース統計の例外を引き起こします。

ディスク容量が1 KB未満の大量のファイルで占有されています

問題の説明

たとえば、ディスク上のWindows NTFSファイルシステム内の409,600の小さなファイルは、1.56 MBのディスク領域を占めます。 各ファイルは複数の文字を含み、サイズは約数バイトである。 ただし、ディスク上の594 MBのスペースが占有されています。これは、NTFSファイルシステムのスペース統計とは大きく異なります。

原因

この問題は、NTFSファイルシステムでのマスターファイルテーブル (MFT) の使用が原因で発生し、NTFSファイルシステムでのファイル保存方法に関連しています。 次の図は、フォーマットされたNTFSファイルシステムの単純な構造を示しています。

image

BOOTには、クラスターサイズなど、NTFSファイルシステムの基本情報が格納されます。 MFTには、NTFSファイルシステムのファイル情報が格納される。 各MFTレコードのサイズは1 KBに固定されています。 各レコードは、ファイルまたは別のファイルシステムオブジェクトに対応する。 レコードは次の形式です: ヘッダー + 属性1 + 属性2 +... 属性には、ファイルの名前、長さ、および変更時間が含まれます。 ファイル情報のサイズが十分に小さい場合、レコード内の1 KBのスペースは使用されず、残りのスペースはファイルの内容を保持するために使用できます。 ファイルサイズが十分に小さい場合、DATAはファイルの内容を格納します。 ファイルサイズが十分に大きい場合、DATAは、より大量のデータを保存するために別の領域を指すポインタを格納します。 この問題では、409,600のファイルが409,600のMFTレコードを消費し、合計で400 MBの領域を占有します。 NTFSファイルシステムログとビットマップは、合計で594 MBの領域を消費します。 この場合、chkdsk d: コマンドを実行して、システムの使用状況に関する情報を取得することもできます。

WinHexプログラムを使用して、システムの使用状況に関する詳細情報を取得することもできます。 WinHexをダウンロードして実行し、Tools-Open Diskコマンドを実行して、分析するディスクを開き、詳細情報を取得します。 たとえば、MFTは400 MBのスペースを占有し、LogFileは64 MBのスペースを占有し、BitMapは3.1 MBのスペースを占有します。

解決策

MFTで割り当てられた領域からファイルが削除されると、ファイルは空としてマスクされ、リサイクルされません。 これにより、効率的な方法でファイルを再作成できます。 ファイルをリリースする場合は、サードパーティのディスククリーンアップツールを使用する必要があります。 パーティションの容量が大きくない場合は、大きなファイルを作成してスペースを占有することもできます。 次に、システムは、削除されたMFTスペースを解放する。 MFTが占有するスペースを削減したり、ビジネスロジックで多数の小さなファイルの使用量を削減したりするには、小さなファイルを定期的に圧縮してバックアップすることをお勧めします。

ディスク容量は1 KB以上の小さなファイルが大量に占有されています

問題の説明

たとえば、409,600の小さなファイルがディスクに保存されます。 各ファイルのサイズは1 KBで、合計サイズは400 MBです。 ただし、ファイルは1.56 GBのディスク容量を占めます。

原因

NTFSファイルシステムは、クラスタサイズを割り当て単位として使用して、スペースを割り当て、管理します。 デフォルトでは、最小クラスターサイズは4 KBです。 ファイルサイズが4 KB未満の場合、または割り当てるスペースの量が4 KB未満の場合、実際の割り当てサイズは依然として4 KBの1つのクラスタです。 その結果、ファイルが占有するディスク容量がファイルのサイズを超えます。

解決策

サイズが4 KB未満のファイルが多数ある場合は、ファイルを圧縮してバックアップし、ディスクの使用量を減らすことができます。 小さいファイルのサイズが固定の場合、ディスクのフォーマット中に小さいクラスタサイズを指定して、スペースの無駄を防ぐことができます。 ディスクをフォーマットするときに、クラスターサイズを指定できます。 デフォルトでは、割り当て単位のサイズは4,096バイトです。

重要

ディスクフォーマットはリスクをもたらす。 ディスクをフォーマットする前に、データの損失を防ぐためにディスクのスナップショットを作成してデータをバックアップします。 スナップショットの作成方法の詳細については、「ディスクのスナップショットの作成」をご参照ください。

参考資料

NTFSファイルシステムのディスクの問題を特定して解決する方法の詳細については、「NTFSボリュームのディスク領域の問題を特定して修正する」をご参照ください。