2017-08-11 16 views
1

J'ai ce cas de test intéressant où j'ai généré des milliers et des milliers de très petits fichiers. Comme vous pouvez l'imaginer la taille sur le disque a augmenté linéairement mais je ne m'attendais pas à ce que la taille sur le disque soit inférieure à la taille du dossier entier. (NTFS)Comment une taille de dossier peut-elle être plus grande que sa taille sur le disque?

Je comprends comment la taille sur le disque peut être supérieure à la taille, mais je suis confus quant à la façon dont il pourrait être plus petit.

Je ne sais pas exactement comment cela est possible. Des indices?

enter image description here

+0

est Windows/NTFS faisant une compression en place ou de compensation fichier pour fichiers redondants? Pour tous ceux qui s'intéressent à la façon dont j'ai fait ceci, voici le fichier batch: https://pastebin.com/FgWVJsiJ – Parad0x13

Répondre

1

Il peut être la compression, ou voir sparse files.

Mais dans votre cas, je suppose que c'est la troisième option - si le fichier est petit, généralement inférieur à 400 octets, ses données peuvent entrer dans MFT File Record, donc il n'occupe aucun cluster. Vous avez ~ 30.000 fichiers, donc s'ils sont environ 300 octets chacun, il peut être 9 Mo et encore compterait comme 0 octets sur le disque: enter image description here

+0

Oh oui! J'ai complètement oublié que dans le (s) nouveau (x) standard (s) NTFS si le fichier est assez petit pour tenir dans le schéma d'adressage du système de fichiers, les données y sont réellement placées. Derp merci! – Parad0x13

+0

En fait, il est là depuis le début :) Il est appelé attribut résident - si les données d'attribut sont stockées dans MFT, et l'attribut non-résident - si les données sont stockées sur le disque en grappes. –