View Full Version : Dimensioni su disco minore delle dimensioni file e cartelle
lupetto2k
07-02-2025, 12:45
Salve,
mi sono accorto che alcune cartelle e file nei miei dischi occupano meno (a volte molto meno) spazio su disco rispetto alla loro dimensione reale.
Non ho nessuno strumento di compressione e non uso compressione disco ma la dimensione è nettamente maggiore della dimensione disco (anche di molte decine di giga).
allego un esempio
97504
com'è possibile?
lupetto2k
07-02-2025, 13:15
ho provato a creare un file di testo con un poco di testo dentro e non occupa neanche un cluster.
97505
mi sembra contrario alle leggi della fisica
UtenteSospeso
07-02-2025, 15:21
Non saprei, in effetti sarebbe il contrario.
.
lupetto2k
17-02-2025, 12:56
nessuno?
E' normale, può succedere sopratutto con le cartelle di sistema e dei programmi, ma anche all'interno della cartella USER con alcune cartelle di AppData.
Il motivo è dovuto alla presenza di symlink, detto in parole povere è uno metodo che permette di mettere all'interno di diverse cartelle dei file identici senza effettuare la deduplicazione del file stesso. In tal modo viene risparmiato dello spazio sul disco senza dover tenere più copie fisiche dello stesso file all'interno di più directory.
https://www.2brightsparks.com/resources/articles/ntfs-hard-links-junctions-and-symbolic-links.html
ho provato a creare un file di testo con un poco di testo dentro e non occupa neanche un cluster.
97505
mi sembra contrario alle leggi della fisica
Su una partizione NTFS, i file molto piccoli (meno di ~900-1000 byte) vengono salvati direttamente all'interno della MFT (master file table), che sarebbe una porzione del filesystem che contiene i metadati di tutti i file e directory. Questa funzionalità è chiamata residente file.
Esempio
Supponiamo di avere un file di testo di 10 byte:
Se il file è abbastanza piccolo, NTFS lo memorizza direttamente nella MFT.
Non viene allocato alcun cluster aggiuntivo, quindi lo spazio su disco effettivamente utilizzato è 0 KB oltre alla MFT.
Quando viene allocato un cluster?
Se il file supera la dimensione massima per essere memorizzato come file residente (ad esempio, se il file è di 1500 byte), NTFS alloca un cluster separato per memorizzare il contenuto del file. In questo caso, il file occuperebbe almeno un cluster (ad esempio, 4 KB).
lupetto2k
18-02-2025, 12:33
E' normale, può succedere sopratutto con le cartelle di sistema e dei programmi, ma anche all'interno della cartella USER con alcune cartelle di AppData.
Il motivo è dovuto alla presenza di symlink, detto in parole povere è uno metodo che permette di mettere all'interno di diverse cartelle dei file identici senza effettuare la deduplicazione del file stesso. In tal modo viene risparmiato dello spazio sul disco senza dover tenere più copie fisiche dello stesso file all'interno di più directory.
https://www.2brightsparks.com/resources/articles/ntfs-hard-links-junctions-and-symbolic-links.html
Grazie per la risposta.
il disco in cui si trovano le cartelle interessate è un SSD diverso da quello del sistema operativo e non contiene niente di sistema, programmi o cartelle utente, solo dati miei.
la questione symlink vale lo stesso?
ho spostato in blocco tutte le mie suddette cartelle (in cui ci sono quelle sottopesate) da quel SSD ad un disco usb magnetico ed hanno riacquisito peso, come se non applicasse più la politica dei symlink ma occupasse lo spazio nel modo tradizionale.
resto perplesso
lupetto2k
18-02-2025, 12:41
allego immagine esplicativa: proprietà cartelle (sottopesate) su disco SSD origine e occupazione (normale, credo) delle stesse cartelle su disco
esterno
97520
lupetto2k
18-02-2025, 12:53
Su una partizione NTFS, i file molto piccoli (meno di ~900-1000 byte) vengono salvati direttamente all'interno della MFT (master file table), che sarebbe una porzione del filesystem che contiene i metadati di tutti i file e directory. Questa funzionalità è chiamata residente file.
Esempio
Supponiamo di avere un file di testo di 10 byte:
Se il file è abbastanza piccolo, NTFS lo memorizza direttamente nella MFT.
Non viene allocato alcun cluster aggiuntivo, quindi lo spazio su disco effettivamente utilizzato è 0 KB oltre alla MFT.
Quando viene allocato un cluster?
Se il file supera la dimensione massima per essere memorizzato come file residente (ad esempio, se il file è di 1500 byte), NTFS alloca un cluster separato per memorizzare il contenuto del file. In questo caso, il file occuperebbe almeno un cluster (ad esempio, 4 KB).
ho provato a copiare il file di testo microscopico che avevo testato allora (44 byte) ed in effetti occupa 0 byte in tutti i dischi locali (SSD di sistema, SSD dei dati incriminati e due dischi magnetici usb) tutti formattati in NTFS mentre sulle unità di rete (che windows vede come NTFS ma sono formattate fisicamente in EXT4 sui NAS) occupa 4KB
UtenteSospeso
18-02-2025, 13:29
Avrai una grande quantità di file sotto i 1024Byte.
.
Grazie per la risposta.
il disco in cui si trovano le cartelle interessate è un SSD diverso da quello del sistema operativo e non contiene niente di sistema, programmi o cartelle utente, solo dati miei.
la questione symlink vale lo stesso?
ho spostato in blocco tutte le mie suddette cartelle (in cui ci sono quelle sottopesate) da quel SSD ad un disco usb magnetico ed hanno riacquisito peso, come se non applicasse più la politica dei symlink ma occupasse lo spazio nel modo tradizionale.
resto perplesso
E' possibile, ma considerando quello che hai appena scritto, non credo che sia una questione di symlink. Se adesso ottieni una dimensione occupata sul disco diversa rispetto a prima (senza aver aggiunto o tolto files), è probabile che il calcolo da parte di windows prima non era stata corretta (troppi files? Profondità cartelle troppo elevata?).
A volte accade che windows non calcola correttamente la quantità di spazio occupato sul disco se si selezionano cartelle che contengono troppi files (nel senso che impiega più tempo e si può inchiodare per molti secondi per finire il calcolo). Se non si attende che finisce il calcolo sembra che occupano meno spazio di quello che realmente occupano.
N.B.
Il calcolo della quantità di files e dello spazio che occupano può non essere calcolato correttamente se le cartelle e i files hanno una profondità troppo elevata.
Windows impone un limite pratico (non teorico) di 260 caratteri per il percorso completo di un file o di una cartella (noto come MAX_PATH). Questo include:
La lettera dell'unità (es. C:\).
I nomi delle cartelle.
Il nome del file.
I separatori (\).
Se il percorso supera questo limite, Windows non sarà in grado di accedere al file o alla cartella, anche se teoricamente NTFS potrebbe supportare una profondità maggiore.
lupetto2k
19-02-2025, 19:59
E' possibile, ma considerando quello che hai appena scritto, non credo che sia una questione di symlink. Se adesso ottieni una dimensione occupata sul disco diversa rispetto a prima (senza aver aggiunto o tolto files), è probabile che il calcolo da parte di windows prima non era stata corretta (troppi files? Profondità cartelle troppo elevata?).
A volte accade che windows non calcola correttamente la quantità di spazio occupato sul disco se si selezionano cartelle che contengono troppi files (nel senso che impiega più tempo e si può inchiodare per molti secondi per finire il calcolo). Se non si attende che finisce il calcolo sembra che occupano meno spazio di quello che realmente occupano.
N.B.
Il calcolo della quantità di files e dello spazio che occupano può non essere calcolato correttamente se le cartelle e i files hanno una profondità troppo elevata.
Windows impone un limite pratico (non teorico) di 260 caratteri per il percorso completo di un file o di una cartella (noto come MAX_PATH). Questo include:
La lettera dell'unità (es. C:\).
I nomi delle cartelle.
Il nome del file.
I separatori (\).
Se il percorso supera questo limite, Windows non sarà in grado di accedere al file o alla cartella, anche se teoricamente NTFS potrebbe supportare una profondità maggiore.
escluderei si tratti di percorsi troppo lunghi: se fosse questo il caso si sarebbe inchiodato anche nello spostamento (mi è capitato in passato) inoltre darebbe lo stesso problema di falso conteggio anche nella nuova destinazione, falso conteggio oltrettutto che, se davvero non riuscisse ad accedere ad alcune cartelle, sarebbe sia nella dimensione che nello spazio occupato su disco
escluderei si tratti di percorsi troppo lunghi: se fosse questo il caso si sarebbe inchiodato anche nello spostamento (mi è capitato in passato) inoltre darebbe lo stesso problema di falso conteggio anche nella nuova destinazione, falso conteggio oltrettutto che, se davvero non riuscisse ad accedere ad alcune cartelle, sarebbe sia nella dimensione che nello spazio occupato su disco
Allora sono d'accordo, non è una questione di percorsi troppo profondi.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.