2011-10-11 10 views
22

Mi chiedo quale sia il numero massimo di file che possono essere presenti in una singola cartella, nei file system usati da tutti i sistemi operativi prevalenti menzionati. Ho bisogno di queste informazioni per decidere il minimo comune denominatore, in modo che la cartella che sto costruendo possa essere aperta e accessibile in qualsiasi sistema operativo.Qual è il numero massimo di file che possono essere conservati in una singola cartella, su Win7/Mac OS X/Ubuntu Filesystems?

risposta

27

In Windows (assumendo NTFS): 4,294,967,295 file

In Linux (supponendo ext4): also 4 billion files (ma può essere meno con alcuni tavoli inode personalizzato)

In Mac OS X (supponendo HFS): 2.1 billion

Ma ho messo circa 65000 file in una singola directory e devo solo dire che il caricamento dell'elenco file può uccidere un PC medio.

+3

Per * alcuni * scenari si ottengono più prestazioni quando si mantengono tutti i file in una cartella (questo è stato misurato su NTFS con file 400K nella cartella) . Questi scenari includono vari server che leggono la directory solo una volta e quindi aprono e creano raramente nuovi file. Quindi l'operazione di apertura è più veloce su una directory che con le sottodirectory. –

+0

Sono curioso, non potrebbe essere più veloce se il contenuto di questi file fosse inserito in un singolo file di database? – ytg

+1

molto probabilmente no - Il DBMS aggiunge un ulteriore livello di trasferimento dati. I DBMS non sono generalmente adatti per grandi quantità di BLOB di grandi dimensioni. –

-1

Da quello che so per Windows 7, è possibile avere una quantità illimitata di file per directory. MA più file hai su un volume, peggiore sarà la performance per quel volume.

3

La maggior parte dei sistemi operativi moderni non ha un limite superiore o un limite superiore molto alto. Tuttavia, le prestazioni di solito iniziano a peggiorare quando si dispone di qualcosa dell'ordine di 10.000 file; è una buona idea interrompere la directory in più sottodirectory prima di questo punto.

+2

Quasi tutte le FS hanno un limite superiore, il più delle volte il numero massimo di file per FS, anche se questi possono essere incredibilmente alti. ZFS consente un massimo di 2^48 file, per ext2/3 è 2^32 e Btrfs ha un massimo di 2^64. Immagino sia necessario sottrarre 1 da tutti questi per la directory radice ;-) – DarkDust

17

Dipende dal file system. Il minimo comune denominatore è probabilmente FAT32 che consente solo 65.534 file in una directory.

Questi sono i numeri che ho trovato:

  • FAT16 (vecchio formato, può essere ignorato): 512
  • FAT32 (ancora usato molto, soprattutto su supporti esterni): 65.534
  • NTFS : 4,294,967,295
  • ext2/ext3 (Linux): Dipende dalla configurazione al momento formato, fino a 4.294.967.295
  • HFS + (Mac): "up to 2.1 billion"
Problemi correlati