Come posso visualizzare lo spazio su disco rigido con milioni di file?


18

Abbiamo un disco rigido che è di 600 concerti e quasi pieno. È stato riempito con 18.501.765 file (per lo più piccole immagini 19k) e 7.142.132 cartelle. È molto difficile scoprire esattamente dove è andato anche tutto lo spazio. Le nostre normali procedure di pulizia non stanno liberando abbastanza spazio, il che significa che dobbiamo guardare questa unità nel suo insieme e determinare cosa c'è là fuori e cosa può essere spostato o rimosso. Abbiamo provato diverse applicazioni e finora hanno fatto saltare in aria o semplicemente hanno funzionato per un incredibile lasso di tempo per essere completato.

Informazioni sul server

  • Sistema operativo: Windows Server 2003
  • File system: NTFS

Soluzione

Space ObServer è stato in grado di leggere 18.501.765 file e 7.142.132 cartelle senza occupare quasi memoria. Sono sicuro che ciò è dovuto principalmente al fatto che utilizza un back-end SQL per archiviare tutti i dati. Sfortunatamente è il più costoso di tutti i prodotti a $ 259,95 per server.

Tentativo di soluzioni

Durante la mia ricerca ho provato diverse soluzioni sia a pagamento che gratuite. Ho tenuto un elenco dei prodotti che ho provato di seguito per le informazioni di tutti.

Software gratis

Software a pagamento

aggiornamenti

Aggiornamento n. 1 : il server che sto tentando di analizzare ha 2 GB di RAM e la maggior parte dei prodotti che provo sembrano tentare di mantenere in memoria le informazioni su file / cartelle. Questo tende a esaurirsi troppo rapidamente con 18.501.765 file e 7.142.132 cartelle.

Aggiornamento n. 2 : sembra che gli sviluppatori di WinDirStat siano stati coinvolti abbastanza da dirci che può essere compilato a 64 bit. Questo gli dà più memoria con cui lavorare ma non sono sicuro che sarà sufficiente a meno che non possano persistere su disco.


Quale sistema operativo?
Wesley,

È Windows Server 2003. Ho modificato il post per mostrarlo ora.
Nathan Palmer,

c'è qualcuno di questi completamente gratuito, shareware o open source?
Maslow,

Gentile da parte tua aggiornarci in questo modo su ciò che è fallito, in esecuzione e in sospeso. Mi dà buone idee.
Wesley,

2
Nessun problema. Ho pensato che sarebbe stata una buona informazione dato che mi sento come se avessimo a che fare con un numero di file con cui le aziende di solito non lavorano quotidianamente. Inoltre, ho appena aggiornato con le categorie Gratis e Pay.
Nathan Palmer,

Risposte:


6

Supponendo che il tuo sistema operativo sia Windows ...

In entrambi i casi, tabulare milioni di file richiederà sempre molto tempo e sarà limitato dall'I / O del disco stesso. Raccomando TreeSize Professional . O forse SpaceObServer . Puoi provare anche la versione freeware di TreeSize.


Sono d'accordo. Ma quei due prodotti che non ho provato, quindi darò un'occhiata.
Nathan Palmer,

5

Sicuramente prova WinDirStat : offre una fantastica visualizzazione dell'uso del disco descrivendo ogni file come un rettangolo disegnato in scala, codificato per colore per tipo di file. Fai clic su qualsiasi elemento nella visualizzazione e lo vedrai nella struttura di directory.

La build standard a 32 bit è limitata a 10 milioni di file e 2 GB di RAM, ma il codice sorgente verrà compilato correttamente come applicazione a 64 bit. Il fatto che il server in questione abbia solo 2 GB di RAM può essere problematico in questo caso specifico, ma la maggior parte dei server con un numero così elevato di file avrà molta più RAM.

Modifica n. 1: mi dispiace di aver scoperto che, quando testato su un volume da 4 TB contenente milioni di file, WinDirStat Portable si è bloccato in seguito all'indicizzazione di circa 6,5 ​​milioni di file. Potrebbe non funzionare per la domanda originale se l'unità contiene oltre 6 milioni di file.

Modifica n. 2: la versione completa di WinDirStat si arresta in modo anomalo con 10 milioni di file e 1,9 GB utilizzati

Modifica n. 3: sono entrato in contatto con gli sviluppatori di WinDirStat e: (1) concordano sul fatto che ciò è stato causato dai limiti di utilizzo della memoria dell'architettura x86 e (2) hanno menzionato che può essere compilato come 64 bit senza errori. Più presto.

Modifica n. 4: il test di una build a 64 bit di WinDirStat ha avuto esito positivo. In 44 minuti indicizzava 11,4 milioni di file e consumava 2,7 GB di RAM.


Potrebbe valere la pena provare la versione normale, poiché è possibile che l'ambiente portatile abbia creato una restrizione imprevista. Non sono in grado di testarlo da solo. windirstat.info
John Gardeniers,

In effetti, la versione normale muore con oltre 10 milioni di file e 1,9 GB di RAM in uso. Sospetto che non sia possibile allocare> 2 GB. Sono sorpreso che utilizzi abbastanza RAM (quasi 200 byte per file contati), ma, di nuovo, sono cresciuto in un'epoca in cui i singoli byte erano molto più preziosi di quanto lo siano oggi ...
Skyhawk

Uso WinDirStat molto. Sfortunatamente non lo taglia quando si arriva a un numero elevato di file.
Nathan Palmer,

Sarei interessato a sapere se gli sviluppatori su WinDirStat tornano con qualcosa. La RAM sarà un vincolo per me a 32-bit o 64-bit.
Nathan Palmer,

1
Non esiste una build ufficiale, ma posso inviarti una versione non ufficiale - ovviamente, sarebbe difficile farcela da solo se non hai Visual Studio! (my.name@gmail.com mi raggiunge)
Skyhawk


3

+1 per i prodotti TreeSize, ma ...

La tua frase sul "non pulire abbastanza spazio" mi fa meravigliare: potresti aver esaurito lo spazio riservato MFT NTFS? Se il filesystem prende più spazio MFT di quello inizialmente allocato, non viene restituito allo spazio file normale e non viene mostrato nelle operazioni di deframmentazione.

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

"I volumi con un numero limitato di file relativamente grandi esauriscono prima lo spazio senza riserve, mentre i volumi con un numero elevato di file relativamente piccoli esauriscono prima lo spazio della zona MFT. In entrambi i casi, la frammentazione della MFT inizia a verificarsi quando una regione o il l'altro diventa pieno. Se lo spazio senza prenotazione diventa pieno, lo spazio per i file e le directory degli utenti inizia ad essere allocato dalla zona MFT in competizione con la MFT per l'allocazione. Se la zona MFT diventa piena, lo spazio per le nuove voci della MFT viene allocato dal resto di il disco, di nuovo in competizione con altri file. "


Sembra qualcosa di buono da controllare. Sfortunatamente non possiamo vedere le dimensioni della MFT perché la deframmentazione non verrà analizzata senza un CHKDSK e CHKDSK attualmente non riesce con "Si è verificato un errore non specificato".
Nathan Palmer,

3
  1. cd \
  2. dir / s> out.txt
  3. puf! La magia accade; o si presenta un hacker perl
  4. Risultati!

Sul serio. L'ho fatto con 5 o 6 milioni di file; non so esattamente cosa stai cercando, ma un buon linguaggio di scripting lo divorerà.


Quindi ... cosa succede nel passaggio 3 .. supponendo che un hacker perl non si presenti?
Nathan Palmer,

Puoi pubblicare maggiori informazioni su ciò di cui hai bisogno? I file più grandi? Directory più grandi? Hai bisogno di informazioni sulla data / ora? È una necessità una tantum o ricorrente?
SqlACID

Per ora è una volta. Ho bisogno di sapere quali directory sono le più grandi (dir + children) ma dovrò andare alcune directory prima che quelle informazioni siano valide. Quindi dovrò avere una suddivisione dei file per data in modo da poter visualizzare i file recenti rispetto a quelli vecchi.
Nathan Palmer,

3

Di solito non sono un utente Windows, ma sono a conoscenza dell'esistenza di Cygwin. :-)

Se funziona abbastanza bene, qualcosa del genere

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

o forse in Cygwin

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

Ad ogni modo, quelli dovrebbero stamparti 50 directory più grandi (dimensioni in megabyte).


2

Ho riscontrato alcuni problemi con Spacemonger e nella ricerca di un'utilità che potevo facilmente trasferire o eseguire dalla chiavetta USB - Space Sniffer si è rivelato molto versatile in questo senso e ha gestito facilmente volumi multi-terabyte.


volumi multi-terabyte con quanti file? Sembra che il nostro problema principale non sia la quantità di spazio utilizzata ma quanti file il programma è in grado di gestire. La maggior parte sta soffocando a 10 milioni.
Nathan Palmer,

Non ho un server con più di qualche milione di file su cui sperimentare, quindi non potrei rispondere con sicurezza alla tua domanda di 10 milioni di file - il mio unico suggerimento sarebbe che con questi strumenti puoi impostare la profondità della directory alla quale viene visualizzato - trova il felice mezzo e poi andare in profondità nella cartella che è necessario, dovrebbe risparmiare tempo facendo anche la visualizzazione.




0

Per quanto riguarda la tabella mft, dalla parte posteriore della mia testa mi sembra di ricordare che jkdefrag, la versione originale di opensource, ha dato una visione del disco molto precisa che includeva colori differenti per le aree mft. Penso di averlo usato una volta per una stima empirica della dimensione e della frammentazione del mft.

Inoltre non importa il chdsk.

Potresti provarlo?


Ci ho provato. Quando eseguo l'analisi, subisce lo stesso destino della maggior parte di questi altri programmi. Troppi file / cartelle archiviati in memoria.
Nathan Palmer,

Mi dispiace leggerlo. Sembra un problema con la piattaforma. Ho un altro suggerimento: eseguire il mirroring del disco (immagine bit, soft imaging o mirror hardware), indipendentemente da come, rompere il mirror e mettere la copia in medicina legale su un'altra piattaforma, ad es. linux / nix. Ciò ha impiegato abbastanza tempo per garantire il costo di un'unità mirror relativa alla quantità di tempo di lavoro investito.
deploymonkey,


0

Ho usato Disk Usage Analyzer - Baobab su Linux usando la sua funzione di scansione remota sul server Windows. Non so quali siano i suoi limiti però.

Fedora LiveCD contiene Baobab. Avviarlo su qualsiasi computer nella LAN.

È tutto gratis - come nella birra e come nei discorsi. Anche per uso commerciale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.