ハードディスクは600ギガで、ほぼ満杯です。 18,501,765個のファイル(主に小さな1万9,000枚の画像)と7,142,132個のフォルダーがいっぱいです。正確にすべてのスペースがどこに行ったかを見つけることは非常に困難です。定期的なクリーンアップ手順では十分なスペースが空いていないため、このドライブ全体を見て、そこに何があり、何を移動または削除できるかを判断する必要があります。私たちはいくつかのアプリケーションを試しましたが、これまでのところ、それらは爆発するか、または完了するまでに驚くほど長い時間実行されました。
Space ObServer メモリをほとんど消費することなく、18,501,765個のファイルと7,142,132個のフォルダを読み取ることができました。これは主に、SQLバックエンドを使用してすべてのデータを格納していることが原因であると確信しています。残念ながら、すべての製品の中で最も高価で、サーバーあたり259.95ドルです。
調査中、私は有料と無料の両方のいくつかの異なるソリューションを試しました。みんなの参考のために、以下に試した商品のリストを用意しました。
アップデート#1:分析しようとしているサーバーには2 GBのRAMがあり、私が試したほとんどの製品はファイル/フォルダ情報をメモリに保存しようとすると、18,501,765個のファイルと7,142,132個のフォルダがあり、すぐに不足する傾向があります。
アップデート#2:WinDirStatの開発者は、64ビットでコンパイルできることを伝えるのに十分関与しているようです。これにより、より多くのメモリを使用できますが、ディスクに永続化できない限り、それで十分かどうかはわかりません。
あなたのOSがWindowsであると仮定します...
スライスする方法に関係なく、何百万ものファイルの集計には常に長い時間がかかり、ディスク自体のI/Oによって制限されます。 TreeSize Professional をお勧めします。または多分 SpaceObServer 。また、TreeSizeのフリーウェアバージョンを試すこともできます。
間違いなく WinDirStat を試してください。各ファイルを、ファイルの種類ごとに色分けされた縮尺で描かれた長方形として描写することで、ディスクの使用状況を幻想的に視覚化します。ビジュアライゼーションのアイテムをクリックすると、ディレクトリツリーに表示されます。
標準の32ビットビルドは1,000万ファイルと2 GBに制限されていますRAM使用量ですが、ソースコードは64ビットアプリケーションとして正常にビルドされます。問題のサーバーが2GBのRAMは、この特定のケースでは問題になる可能性がありますが、そのような大量のファイルを持つほとんどのサーバーは、はるかに多くのRAMを備えています。
編集#1:何百万ものファイルを含む4TBボリュームでテストしたときに、WinDirStat Portableが約650万のファイルのインデックス作成後にクラッシュしたことを発見したことを後悔しています。ドライブに600万以上のファイルが含まれている場合、元の質問では機能しない可能性があります。
編集#2:WinDirStatのフルバージョンが1000万のファイルと1.9GBの使用でクラッシュする
編集#3:WinDirStat開発者と連絡を取り、(1)これはx86アーキテクチャのメモリ使用制限が原因であることに同意し、(2)エラーなしで64ビットとしてコンパイルできると述べました。よりすぐ。
編集#4:WinDirStatの64ビットビルドのテストは成功しました。 44分で、1140万のファイルのインデックスを作成し、2.7 GBのRAMを消費しました。
私は定期的に FolderSizes を数百万のファイルが含まれる複数の1TBドライブで問題なく使用しています。
私は通常Windowsユーザーではありませんが、Cygwinの存在を知っています。 :-)
それが十分に機能する場合、次のようなもの
du -m /your/path | sort -nr | head -n 50
またはおそらくCygwinで
du C:\ | sort -nr | head -n 50
とにかく、それらはあなたに50の最大のディレクトリ(メガバイトのサイズ)を印刷するはずです。
真剣に。 500万または600万のファイルでこれを実行しました。あなたが何を探しているのか正確にはわかりませんが、良いスクリプト言語はこれを使い果たしてしまいます。
TreeSize製品の+1、ただし...
「十分なスペースをクリーンアップしていない」という文章で、NTFS MFTの予約スペースが不足していませんか?ファイルシステムが最初に割り当てられたよりも多くのMFTスペースを取得する場合、通常のファイルスペースには戻されず、デフラグ操作では表示されません。
http://support.Microsoft.com/kb/174619
「比較的大きなファイルが少ないボリュームは最初に予約されていないスペースを使い果たしますが、比較的小さなファイルが多いボリュームは最初にMFTゾーンスペースを使い果たします。どちらの場合でも、MFTの断片化は、1つのリージョンまたはその他の領域がいっぱいになります。予約されていない領域がいっぱいになると、ユーザーファイルとディレクトリの領域は、割り当てのためのMFTと競合するMFTゾーンから割り当てられます。MFTゾーンがいっぱいになると、残りの領域から新しいMFTエントリ用の領域が割り当てられますディスクは再び他のファイルと競合します。」
Spacemongerにいくつかの問題が見つかり、USBスティックから簡単に転送または実行できるユーティリティを探していました- Space Sniffer その点で非常に用途が広く、マルチテラバイトのボリュームを簡単に処理しました。
GetFoldersize をご覧ください
du -s
はピンチで使用でき、必要なだけ実行されます。
Windowsでは SpaceMonger (または 古い無料バージョン )を使用します。 OSXでは Disk Inventory X を使用します。
Mftテーブルに関して、元のオープンソースバージョンであるjkdefragは、mft領域のさまざまなカラーリングを含む非常に正確なディスクビューを提供したことを頭の後ろから覚えているようです。私は以前、mftのサイズと断片化の大まかな推定値としてこれを使用したと思います。
また、chdskを気にしません。
やってみませんか?
私は Disk Usage Analyzer-Baobab をLinuxで使用しました。これは、Windowsサーバーのリモートスキャン機能を使用しています。それが限界なのかはわかりません。
Fedora LiveCD はバオバブを含みます。 LAN内の任意のコンピュータで起動します。
ビールやスピーチのように、すべて無料です。業務用にも。
http://www.freshney.org/xinorbis/
別の潜在的なオプション