linux user group brescia

immagine del castello

Archivio della mailing list

Numero massimo di file in una directory (ext2)?

Luca Giuzzi giuzzi a dmf.unicatt.it
Gio 20 Set 2001 19:04:13 UTC
On Thu, Sep 20, 2001 at 01:36:44PM -0400, Giuseppe Corbelli wrote:
> 
> On Thu, 20 Sep 2001, andrea gelmini wrote:
> > Ciao.
> > Qualcuno sa come faccio ad impostare il numero massimo di file
> > (o directory) in una directory su un filesystem ext2?  Devo creare
> > circa 200'000 sottodirectory e dopo circa 50'000 ricevo il messaggio:
Mi dispiace dovertelo dire, ma 200000 sottodirectory sono quasi sicuramente
la soluzione sbagliata al tuo problema. Tieni conto che la complessita'
 di un algoritmo di ricerca e' O(log n); fare il lookup di una directory
 nel caso in cui ce ne siano cosi' tante richiede sicuramente
 1. un sacco di tempo (speso in kernel space)
 2. una considerevole quantita' di memoria.

Gli alberi bilanciati di Reiserfs aiutano, come pure un hashing 
 dei nomi di dir, ma i guadagni dal punto di vista delle prestazioni sono
 minimali.
> >
> > non puoi. l'ext2 puo` creare un massimo di 32000 directory per directory.
> > reiserfs non dovrebbe avere questo limite, ma non credo arrivi fino a
> > 200000 (e in ogni caso non lo userei neppure mi pagassero).
> Purtroppo per una macchina importante non e' facile trovare un filesystem
> che vada bene: credo che solo xfs abbia una maturita' sufficiente.
> 
xfs non e' ancora abbastanza maturo sotto linux per una macchina 
 "mission critical" e, francamente non me la sento di consigliare al
 momento nemmeno jfs. Su reiserfs concordo in massima parte con Andrea:
 e' un interessante giocattolo e merita di essere guardato con cura;
 non e' sicuramente abbastanza robusto per un utilizzo serio.


Un consiglio: non e' possibile riformulare il problema in modo diverso?
a che ti servono le 200k dir? Se sono per contenere dati "personali", etc.
etc., allora forse ti conviene un piccolo database stile quello offerto
dalla libdb3.

Ciao,
 lg
-- 



Maggiori informazioni sulla lista Lug