Frage Wie kann ich Festplattenspeicher mit Millionen von Dateien visualisieren?


Wir haben eine Festplatte, die 600 Gigs und fast voll ist. Es wurde mit 18.501.765 Dateien (meist kleine 19k Bilder) und 7.142.132 Ordnern gefüllt. Es ist sehr schwierig herauszufinden, wo genau auch der gesamte Platz ist. Unsere regelmäßigen Aufräumvorgänge schaffen nicht genug Platz, was bedeutet, dass wir uns dieses Laufwerk als Ganzes ansehen müssen und herausfinden müssen, was da draußen ist und was verschoben oder entfernt werden kann. Wir haben mehrere Anwendungen ausprobiert und bis jetzt sind sie entweder explodiert oder haben einfach unglaublich lange gerannt.

Serverinformation

  • Betriebssystem: Windows Server 2003
  • Dateisystem: NTFS

Lösung

Weltraum-Observer konnte 18.501.765 Dateien und 7.142.132 Ordner durchlesen, ohne kaum Speicher zu belegen. Ich bin sicher, dass dies hauptsächlich auf die Tatsache zurückzuführen ist, dass es ein SQL-Backend verwendet, um alle Daten zu speichern. Es ist leider das teuerste aller Produkte bei $ 259,95 pro Server.

Versuchte Lösungen

Während meiner Recherchen habe ich mehrere verschiedene kostenpflichtige und kostenlose Lösungen ausprobiert. Ich habe eine Liste der Produkte, die ich probiert habe, für jedermanns Informationen aufbewahrt.

Gratis Software

Bezahlen Sie Software

Aktualisierung

Update # 1: Der Server, den ich analysieren möchte, hat 2 GB RAM und die meisten Produkte, die ich versuche, scheinen zu versuchen, die Datei- / Ordnerinformationen im Speicher zu behalten. Dies läuft mit 18.501.765 Dateien und 7.142.132 Ordnern viel zu schnell aus.

Update # 2: Sieht so aus, als wären die Entwickler von WinDirStat so weit involviert, dass sie unter 64-Bit kompilieren können. Das gibt ihm mehr Arbeitsspeicher, aber ich bin mir nicht sicher, ob es ausreichen wird, es sei denn, sie können auf Festplatte gespeichert werden.


18
2017-07-28 21:04


Ursprung


Welches Betriebssystem? - Wesley
Es ist Windows Server 2003. Ich habe den Post bearbeitet, um das jetzt zu zeigen. - Nathan Palmer
sind irgendwelche von diesen völlig frei, Shareware oder Open Source? - Maslow
Schön von Ihnen, uns auf diese Weise über das zu informieren, was fehlgeschlagen ist, läuft und aussteht. Gibt mir gute Ideen. - Wesley
Kein Problem. Ich denke, es wird eine gute Information sein, da ich glaube, dass es sich um eine Anzahl von Dateien handelt, mit denen Unternehmen normalerweise nicht täglich arbeiten. Außerdem habe ich gerade aktualisiert mit Kategorien für Free und Pay. - Nathan Palmer


Antworten:


Angenommen, Ihr Betriebssystem ist Windows ...

So oder so schneiden Sie es, Tabellierung von Millionen von Dateien wird immer eine lange Zeit dauern und wird durch die E / A der Festplatte selbst eingeschränkt werden. ich empfehle TreeSize Professional. Oder vielleicht SpaceObServer. Sie könnten auch die Freeware-Version von TreeSize ausprobieren.


5
2017-07-28 21:08



Genau. Aber diese beiden Produkte habe ich noch nicht ausprobiert, also schaue ich mal nach. - Nathan Palmer


Ich benutze es regelmäßig Ordnergrößen auf mehreren 1 TB Laufwerken mit mehreren Millionen Dateien ohne Probleme.


4
2017-07-28 22:40



Genial. Ich wusste nichts davon. - Wesley
Großartig. Ich werde es versuchen. - Nathan Palmer


Definitiv versuchen WinDirStat: Es bietet eine fantastische Visualisierung der Festplattennutzung, indem jede Datei als ein maßstabsgetreues Rechteck dargestellt wird, farbkodiert nach Dateityp. Klicken Sie auf ein Element in der Visualisierung und Sie werden es in der Verzeichnisstruktur sehen.

Der standardmäßige 32-Bit-Build ist auf 10 Millionen Dateien und 2 GB RAM beschränkt, aber der Quellcode wird 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 bedauere festgestellt zu haben, dass WinDirStat Portable beim Testen auf einem 4 TB großen Volume, das Millionen von Dateien enthält, nach der Indizierung von etwa 6,5 ​​Millionen Dateien abgestürzt ist. Es funktioniert möglicherweise nicht für die ursprüngliche Frage, wenn das Laufwerk mehr als 6 Millionen Dateien enthält.

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

Edit # 3: Ich habe mich mit den WinDirStat-Entwicklern in Verbindung gesetzt und: (1) sie stimmen zu, dass dies durch Einschränkungen der Speicherauslastung der x86-Architektur verursacht wurde und (2) erwähnt, dass sie fehlerfrei als 64-Bit kompiliert werden können. Mehr in Kürze.

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


4
2017-07-28 23:56



Es könnte sich lohnen, die reguläre Version auszuprobieren, da es möglich ist, dass die portable Umgebung eine unerwartete Einschränkung erzeugt hat. Ich bin nicht in der Lage, das selbst zu testen. windirsta.info - John Gardeniers
Tatsächlich stirbt die reguläre Version bei über 10 Millionen Dateien und 1,9 GB RAM. Ich vermute, dass es> 2GB nicht zuordnen kann. Ich bin überrascht, dass es ziemlich viel RAM verwendet (fast 200 Bytes pro Datei), aber andererseits bin ich in einer Zeit aufgewachsen, in der einzelne Bytes viel wertvoller waren als heute ... - Skyhawk
Ich benutze WinDirStat sehr. Leider schneidet es einfach nicht, wenn Sie in eine große Anzahl von Dateien geraten. - Nathan Palmer
Es würde mich interessieren zu hören, ob der Entwickler auf WinDirStat mit irgendetwas zurückkommt. RAM wird eine Einschränkung für mich in 32-Bit oder 64-Bit sein. - Nathan Palmer
Es gibt keinen offiziellen Build, aber ich kann Ihnen einen inoffiziellen schicken - offensichtlich wäre es schwierig, Ihren eigenen zu erstellen, wenn Sie Visual Studio nicht haben! (my.name@gmail.com erreicht mich) - Skyhawk


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

Ihr Satz über "nicht genügend Platz putzen" lässt mich fragen: Hätten Sie den NTFS MFT reservierten Speicherplatz nicht mehr nutzen können? Wenn das Dateisystem mehr MFT-Speicherplatz ergreift als ursprünglich zugewiesen wurde, wird es nicht in den regulären Dateibereich zurückgegeben und wird nicht in Defrag-Operationen angezeigt.

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

"Volumes mit einer kleinen Anzahl relativ großer Dateien füllen zuerst den nicht reservierten Speicherplatz aus, während Volumes mit einer großen Anzahl relativ kleiner Dateien zuerst den MFT-Zonenraum ausschöpfen. In jedem Fall beginnt die Fragmentierung der MFT, wenn eine Region oder die others wird voll Wenn der nicht reservierte Speicherplatz voll wird, wird Speicherplatz für Benutzerdateien und Verzeichnisse aus der MFT-Zone zugewiesen, die mit der MFT konkurriert.Wenn die MFT-Zone voll wird, wird Speicherplatz für neue MFT-Einträge aus dem Rest von MFT zugewiesen die Festplatte, die wiederum mit anderen Dateien konkurriert. "


3
2017-07-30 02:12



Das sieht nach etwas aus, was gut zu überprüfen ist. Leider können wir die MFT-Größe nicht sehen, da die Defragmentierung ohne CHKDSK nicht analysiert wird und CHKDSK derzeit mit "Ein unspezifizierter Fehler ist aufgetreten" fehlschlägt. - Nathan Palmer


  1. CD
  2. Verzeichnis / s> out.txt
  3. Puh! Magie passiert; oder ein Perl-Hacker taucht auf
  4. Ergebnisse!

Ernst. Ich habe das mit 5 oder 6 Millionen Dateien gemacht; Ich bin mir nicht sicher, wonach genau du suchst, aber eine gute Skriptsprache wird das auffressen.


3
2017-07-31 16:07



Soo ... was passiert in Schritt # 3 ... vorausgesetzt, ein Perl-Hacker taucht nicht auf? - Nathan Palmer
Kannst du mehr Infos dazu schreiben, was du brauchst? Größte Dateien? Größte Verzeichnisse? Brauchen Sie Datum / Uhrzeit? Ist es ein einmaliges Bedürfnis oder wiederkehrend? - SqlACID
Für jetzt ist es einmal. Ich muss wissen, welche Verzeichnisse die größten sind (dir + children), aber ich muss ein paar Verzeichnisse gehen, bevor diese Informationen gültig sind. Dann muss ich die Dateien nach Datum aufteilen, damit ich aktuelle und alte Dateien sehen kann. - Nathan Palmer


Ich bin normalerweise kein Windows-Benutzer, aber Cygwins Existenz kenne ich. :-)

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

Wie auch immer, diese sollten dir die 50 größten Verzeichnisse (Größen in Megabyte) ausdrucken.


3
2017-07-29 07:41





Ich fand ein paar Probleme mit Spacemonger und auf der Suche nach einem Dienstprogramm, das ich einfach von USB-Stick übertragen oder ausführen konnte - Weltraumschnüffler erwies sich in dieser Hinsicht als sehr vielseitig und bewältigte problemlos mehrere Terabyte.


2
2017-07-28 21:03



Multi-Terabyte-Volumes mit wie vielen Dateien? Es scheint, unser Hauptproblem ist nicht, wie viel Speicherplatz verwendet wird, sondern wie viele Dateien das Programm verarbeiten kann. Die meisten ersticken bei 10 Millionen. - Nathan Palmer
Ich habe keinen Server mit mehr als ein paar Millionen Dateien, mit denen ich experimentieren konnte, so dass ich nicht sicher Ihre 10 Millionen Dateifrage beantworten konnte - mein einziger Vorschlag wäre, dass Sie mit diesen Tools die Verzeichnistiefe festlegen können, bei der visualisiert wird Happy Medium und dann gehen Sie tief in den Ordner, den Sie benötigen, sollte Zeit sparen bei der Visualisierung als auch.


du -s kann in einer Prise verwendet werden und wird so lange wie nötig ausgeführt.


1
2017-07-28 22:35



Vielen Dank. Das werde ich beim nächsten Mal auf einem * ix-System überprüfen. - Nathan Palmer
... Hä? gnuwin32.sourceforge.net/packages/coreutils.htm - Ignacio Vazquez-Abrams
Ich wusste nicht, dass es unter Windows verfügbar war. Ich werde das überprüfen. Vielen Dank. - Nathan Palmer


Unter Windows verwende ich Weltraumzeitung (oder ältere kostenlose Version). Unter OSX verwende ich Platteninventar X.


1
2017-07-31 11:05