Wie kann ich den Festplattenspeicher mit Millionen von Dateien visualisieren?

18

Wir haben eine Festplatte, die 600 Gigs und fast voll ist. Es wurde mit 18.501.765 Dateien (meist kleine 19.000 Bilder) und 7.142.132 Ordnern gefüllt. Es ist sehr schwierig herauszufinden, wo genau der gesamte Raum auch geblieben ist. Unsere regelmäßigen Bereinigungsverfahren räumen nicht genügend Speicherplatz auf, was bedeutet, dass wir dieses Laufwerk als Ganzes betrachten und feststellen müssen, was da draußen ist und was verschoben oder entfernt werden kann. Wir haben verschiedene Anwendungen ausprobiert und bisher sind sie entweder in die Luft gesprengt oder nur für eine erstaunliche Zeitspanne ausgeführt worden.

Serverinformation

  • Betriebssystem: Windows Server 2003
  • Dateisystem: NTFS

Lösung

Space ObServer konnte 18.501.765 Dateien und 7.142.132 Ordner lesen, ohne dass dabei Speicherplatz in Anspruch genommen wurde. Ich bin mir sicher, dass dies hauptsächlich auf die Tatsache zurückzuführen ist, dass ein SQL-Backend zum Speichern aller Daten verwendet wird. Es ist leider das teuerste aller Produkte bei 259,95 USD pro Server.

Versuchte Lösungen

Während meiner Recherche habe ich verschiedene kostenpflichtige und kostenlose Lösungen ausprobiert. Ich habe eine Liste der Produkte, die ich unten ausprobiert habe, zur Information für alle zusammengestellt.

Gratis Software

Bezahlsoftware

Aktualisierung

Update Nr. 1 : Der zu analysierende Server verfügt über 2 GB RAM, und die meisten Produkte, die ich versuche, scheinen die Datei- / Ordnerinformationen im Speicher zu behalten. Bei 18.501.765 Dateien und 7.142.132 Ordnern ist dies meist viel zu schnell erledigt.

Update Nr. 2 : Die Entwickler von WinDirStat waren anscheinend so involviert, dass sie uns mitteilten, dass es unter 64-Bit kompiliert werden kann. Das gibt mehr Arbeitsspeicher, aber ich bin mir nicht sicher, ob es ausreichen wird, wenn sie nicht auf der Festplatte bleiben können.

Nathan Palmer
quelle
Welches Betriebssystem?
Wesley
Es ist Windows Server 2003. Ich habe den Beitrag bearbeitet, um dies jetzt zu zeigen.
Nathan Palmer
Gibt es eine dieser kostenlosen, Shareware- oder Open Source-Versionen?
Maslow
Schön, dass Sie uns auf diese Weise darüber informieren, was fehlgeschlagen ist, läuft und aussteht. Gibt mir gute Ideen.
Wesley
2
Kein Problem. Ich dachte, es wird eine gute Information sein, da ich das Gefühl habe, dass wir es mit einer Anzahl von Dateien zu tun haben, mit denen Unternehmen normalerweise nicht täglich arbeiten. Außerdem habe ich gerade mit Kategorien für Free and Pay aktualisiert.
Nathan Palmer

Antworten:

6

Angenommen, Ihr Betriebssystem ist Windows ...

In beiden Fällen dauert das Tabellieren von Millionen von Dateien sehr lange und wird durch die E / A der Festplatte selbst eingeschränkt. Ich empfehle TreeSize Professional . Oder vielleicht SpaceObServer . Sie können auch die Freeware-Version von TreeSize ausprobieren.

Wesley
quelle
Genau. Aber diese beiden Produkte habe ich noch nicht ausprobiert, also werde ich sie mir ansehen.
Nathan Palmer
5

Versuchen Sie auf jeden Fall WinDirStat : Es bietet eine fantastische Visualisierung der Festplattennutzung, indem jede Datei als maßstabsgetreues Rechteck dargestellt wird, das nach Dateityp farbcodiert ist. Klicken Sie auf ein Element in der Visualisierung und Sie werden es in der Verzeichnisstruktur sehen.

Die 32-Bit-Standarderstellung ist auf 10 Millionen Dateien und 2 GB RAM begrenzt, der Quellcode wird jedoch erfolgreich als 64-Bit-Anwendung erstellt. Die Tatsache, dass der fragliche Server nur 2 GB RAM hat, kann in diesem speziellen Fall problematisch sein, aber die meisten Server mit einer so großen Anzahl von Dateien werden viel mehr RAM haben.

Edit # 1: Ich bedaure, festgestellt zu haben, dass WinDirStat Portable beim Testen auf einem 4-TB-Volume mit Millionen von Dateien nach der Indizierung von etwa 6,5 ​​Millionen Dateien abstürzte. Bei der ursprünglichen Frage funktioniert es möglicherweise nicht, wenn das Laufwerk mehr als 6 Millionen Dateien enthält.

Edit # 2: Die Vollversion von WinDirStat stürzt bei 10 Millionen Dateien und 1,9 GB ab

Edit # 3: Ich habe Kontakt mit den WinDirStat-Entwicklern aufgenommen und: (1) sie sind sich einig, dass dies durch Speicherbeschränkungen der x86-Architektur verursacht wurde, und (2) erwähnt, dass es als 64-Bit-Version ohne Fehler kompiliert werden kann. Mehr in Kürze.

Edit # 4: Der Test eines 64-Bit Builds von WinDirStat war erfolgreich. Innerhalb von 44 Minuten wurden 11,4 Millionen Dateien indiziert und 2,7 GB RAM verbraucht.

Skyhawk
quelle
Es könnte sich lohnen, die reguläre Version zu testen, da die tragbare Umgebung möglicherweise eine unerwartete Einschränkung verursacht hat. Ich bin nicht in der Lage, das selbst zu testen. windirstat.info
John Gardeniers
In der Tat stirbt die reguläre Version bei mehr als 10 Millionen Dateien und 1,9 GB RAM-Auslastung. Ich vermute, dass es nicht möglich ist,> 2 GB zuzuweisen. Ich bin überrascht, dass es so viel RAM verbraucht (fast 200 Bytes pro Datei), aber andererseits bin ich in einer Zeit aufgewachsen, in der einzelne Bytes weitaus kostbarer waren als heute ...
Skyhawk
Ich benutze WinDirStat viel. Leider schneidet es einfach nicht ab, wenn Sie in eine große Anzahl von Dateien geraten.
Nathan Palmer
Es würde mich interessieren zu hören, ob die Entwickler auf WinDirStat mit irgendetwas zurückkommen. RAM wird eine Einschränkung für mich in 32-Bit oder 64-Bit sein.
Nathan Palmer
1
Es gibt kein offizielles Build, aber ich kann Ihnen ein inoffizielles schicken - offensichtlich wäre es schwierig, ein eigenes zu erstellen, wenn Sie kein Visual Studio haben! ([email protected] erreicht mich)
Skyhawk
4

Ich verwende FolderSizes regelmäßig auf mehreren 1-TB-Laufwerken mit mehreren Millionen Dateien ohne Probleme.

Joeqwerty
quelle
Genial. Wusste nichts davon.
Wesley
Groß. Ich werde es versuchen.
Nathan Palmer
3

+1 für die TreeSize-Produkte, aber ...

Ihr Satz über "nicht genügend Speicherplatz bereinigen" lässt mich wundern: Könnte Ihnen der für NTFS MFT reservierte Speicherplatz ausgehen? Wenn das Dateisystem mehr MFT-Speicherplatz belegt, als ursprünglich zugewiesen wurde, wird dieser nicht in den regulären Dateibereich zurückgeführt und bei Defragmentierungsvorgängen nicht angezeigt.

http://support.microsoft.com/kb/174619

Volumes mit einer kleinen Anzahl von relativ großen Dateien erschöpfen zuerst den nicht reservierten Speicherplatz, während Volumes mit einer großen Anzahl von relativ kleinen Dateien zuerst den MFT-Zonen-Speicherplatz erschöpfen. In beiden Fällen beginnt die Fragmentierung der MFT, wenn eine Region oder die Wenn der nicht reservierte Speicherplatz voll ist, wird der Speicherplatz für Benutzerdateien und -verzeichnisse ab der MFT-Zone zugewiesen, die mit der MFT-Zone für die Zuweisung konkurriert die Festplatte, wieder im Wettbewerb mit anderen Dateien. "

AndyN
quelle
Das sieht nach etwas Gutem aus, das überprüft werden muss. Leider kann die MFT-Größe nicht angezeigt werden, da die Defragmentierung ohne CHKDSK nicht analysiert werden kann und CHKDSK derzeit mit der Meldung "Ein nicht angegebener Fehler ist aufgetreten" fehlschlägt.
Nathan Palmer
3
  1. cd \
  2. dir / s> out.txt
  3. Kacke! Magie passiert; oder ein Perl-Hacker taucht auf
  4. Ergebnisse!

Ernst. Ich habe das mit 5 oder 6 Millionen Dateien gemacht; Ich weiß nicht genau, wonach Sie suchen, aber eine gute Skriptsprache wird dies auffressen.

SqlACID
quelle
Soo ... was passiert in Schritt 3 ... wenn ein Perl-Hacker nicht auftaucht?
Nathan Palmer
Können Sie weitere Informationen zu dem, was Sie benötigen, veröffentlichen? Größte Dateien? Größte Verzeichnisse? Benötigen Sie Datums- / Zeitangaben? Ist es ein einmaliger Bedarf oder wiederkehrend?
SqlACID
Im Moment ist es einmal. Ich muss wissen, welche Verzeichnisse die größten sind (dir + Kinder), aber ich muss ein paar Verzeichnisse in gehen, bevor diese Informationen gültig sind. Dann muss ich die Dateien nach Datum aufteilen, damit ich die letzten und die alten Dateien anzeigen kann.
Nathan Palmer
3

Normalerweise bin ich kein Windows-Benutzer, aber mir ist die Existenz von Cygwin bewusst. :-)

Wenn es gut genug funktioniert, so etwas wie

du -m /your/path | sort -nr | head -n 50

oder vielleicht in Cygwin

du C:\ | sort -nr | head -n 50

Auf jeden Fall sollten Sie die 50 größten Verzeichnisse ausdrucken (Größe in Megabyte).

Janne Pikkarainen
quelle
2

Ich fand ein paar Probleme mit Spacemonger und auf der Suche nach einem Dienstprogramm, das ich leicht von einem USB-Stick übertragen oder ausführen konnte - Space Sniffer erwies sich in dieser Hinsicht als sehr vielseitig und handhabte Multi-Terabyte-Volumes mit Leichtigkeit.


quelle
Multi-Terabyte-Volumes mit wie vielen Dateien? Unser Hauptproblem scheint nicht darin zu liegen, wie viel Speicherplatz verwendet wird, sondern wie viele Dateien das Programm verarbeiten kann. Die meisten verschlucken sich an 10 Millionen.
Nathan Palmer
Ich habe keinen Server mit mehr als ein paar Millionen Dateien, mit dem ich experimentieren könnte, also könnte ich Ihre Frage zu 10 Millionen Dateien nicht sicher beantworten - mein einziger Vorschlag wäre, dass Sie mit diesen Tools die Verzeichnistiefe einstellen können, bei der visualisiert wird - finden Sie das happy medium und gehen Sie dann tief in den Ordner, den Sie benötigen, um Zeit bei der Visualisierung zu sparen.
1

du -s kann zur Not verwendet werden und läuft so lange wie nötig.

Ignacio Vazquez-Abrams
quelle
Vielen Dank. Werde das nächste Mal überprüfen, wenn ich auf einem * ix System bin.
Nathan Palmer
... nicht wahr? gnuwin32.sourceforge.net/packages/coreutils.htm
Ignacio Vazquez-Abrams
Wusste nicht, dass es für Windows verfügbar ist. Ich werde das überprüfen. Vielen Dank.
Nathan Palmer
1

Schauen Sie sich GetFoldersize an

user9517 unterstützt GoFundMonica
quelle
0

Was die MFT-Tabelle betrifft, so erinnere ich mich anscheinend an jkdefrag, die ursprüngliche OpenSource-Version, die eine sehr genaue Datenträgeransicht mit unterschiedlichen Farben für MFT-Bereiche lieferte. Ich glaube, ich habe das schon einmal benutzt, um eine Faustregel für die Größe und Fragmentierung von MFTs zu erstellen.

Interessiert sich auch nicht für chdsk.

Könnte das versuchen?

deploymonkey
quelle
Ich habe es versucht. Wenn ich die Analyse durchführe, erleidet sie das gleiche Schicksal wie die meisten anderen Programme. Zu viele Dateien / Ordner im Speicher.
Nathan Palmer
Tut mir leid das zu lesen. Scheint ein Plattformproblem zu sein. Ich habe einen anderen Vorschlag: Spiegeln Sie die Festplatte (Bit-Image, Imaging-Soft- oder Hardware-Spiegel), egal wie, brechen Sie den Spiegel und legen Sie die Kopie unter Forensik auf einer anderen Plattform ab, z. Linux / Nix. Dies hat genügend Zeit in Anspruch genommen, um die Kosten für ein Spiegellaufwerk in Bezug auf die Höhe Ihrer investierten Arbeitszeit zu decken.
Deploymonkey
0

Ich habe Disk Usage Analyzer - Baobab unter Linux mit der Remote-Scan-Funktion auf einem Windows-Server verwendet. Ich weiß allerdings nicht, wo die Grenzen liegen.

Fedora LiveCD enthält Baobab. Starten Sie es auf einem beliebigen Computer in Ihrem LAN.

Es ist alles kostenlos - wie im Bier und wie in der Sprache. Auch für den gewerblichen Gebrauch.

Tometzky
quelle