Différence entre taille et taille sur le disque

Petite explication technique sur la différence entre taille et taille sur le disque, qu’on observe dans les propriétés des dossiers et fichiers. En effet suivant les fichiers ou dossiers que vous allez ouvrir, vous pouvez observer des différences assez nettes entre la « taille » et la « taille sur le disque » :

Grande différence entre taille et taille sur le disque

Nous sommes dans un des cas où la différence entre la taille et la taille sur le disque est vraiment « extrême ». J’ai un peu forcé l’affaire pour notre exemple 😉 mais cela peut arriver, notamment sur certains NAS dont la configuration n’est pas correcte au départ. Alors :

Pourquoi une différence entre la taille et la taille sur le disque ?

La différence entre les deux tailles tient à la façon dont a été formaté et partitionné votre disque. En effet au moment du formatage, vous choisissez une « unité d’allocation » :

Différence taille sur le disque unité d'allocation

C’est de là que vient la différence entre la taille et la taille sur le disque : ces unités d’allocation sont indivisibles ! On crée des « cases » vides sur le disque, des clusters, et ceux-ci sont soit vides soit pleins. Un fichier occupe une unité d’allocation ou plus mais il n’y a pas plusieurs fichiers par unité d’allocation. Et cela son importance.

Distinction entre taille et taille sur le disque sur un PC :

La taille représente la taille de base théorique du fichier. Exemple pour une image de 10000 pixels codées en RVB (3 octets par pixels), la taille affichée par l’ordinateur est de 30000 octets.

La taille sur le disque représente la taille réelle qu’occupe le fichier sur le disque. Suivant la taille des clusters du disque celle-ci va donc varier. Reprenons notre exemple précédent l’image fait 30000 octets mais les clusters en font 4096.

On a 30000 / 4096 = 7,32… il y a donc 7 x 4096 = 28672 octets pour ces 7 clusters puis un dernier cluster pas entièrement « rempli » par le fichier de base, mais qui en mémoire est bien utilisé (cluster soit vide soit plein) soit 4096 octets en plus donc un total de 32768 octets.

Dans cet exemple l’image a une taille de 30000 octets mais une taille sur le disque de 32768 octets, soit une différence de quasiment 10%.

 

La différence entre taille et taille sur le disque dépend donc du système de fichiers, qui alloue une certaine taille aux clusters. Ainsi on notera que plus on a de petits fichiers, plus la taille sur le disque d’un dossier peut être différente de sa taille théorique, car chacun va occuper un cluster, alors qu’en réalité il n’en a pas « besoin ».

Un petit exemple pour terminer et tout comprendre sur la différence entre taille et taille sur le disque 🙂

J’ai créé 3 fichiers de seulement 1 octet sur un disque formaté avec des clusters de 1 mégaoctet (sic !) :


Grande différence entre taille et taille sur le disque sur un PC

La taille est bien de 3 octets mais la taille sur le disque est de 3,00 Mo ! En effet chaque fichier occupe 1 cluster, bien que sa taille ne fasse qu’une toute petite partie de celui-ci. Dans ce cas l’exemple est poussé à l’extrême mais sur un formatage plus classique on aurait :

Pourquoi une différence entre la taille et celle sur le disque

Dans ce cas les fichiers sont un peu plus grands, 2148 octets chacun soit 6444 octets mais les clusters sont à leur taille d’unité d’allocation par défaut soit 4096 octets, il y a donc 3 clusters de 4096 octets d’utilisés d’où la taille sur le disque affichée de 4096 x 3 = 12288 octets. En schématisant :

Explication pour la différence entre la taille et la taille sur le disque

La différence entre taille et taille sur le disque repose donc sur le système de formatage et la taille des unités d’allocation, commentez pour toute remarque !

 

14 réflexions au sujet de “Différence entre taille et taille sur le disque”

  1. Mais comment expliquer sous Windows 10 des différences telles que :
    Taille : 3,01 To (3 314 923 474 795 octets)
    Taille sur le disque : 15,7 To (17 325 898 072 064 octets)
    pour un dossier composé de 4 034 Fichiers, 366 Dossiers
    sur un serveur de fichiers D-LINK DNS-320 dont le disque de 3.57To (4To non formatés) est formaté EXT4 ?
    (Car 15,7To sur un DD de 3.57To c’est impossible)

    Répondre
  2. Bonjour Sylvain,

    merci pour votre commentaire. C’est assez particulier en effet. Quelle est la taille d’un cluster ?

    Peut-être que ceux-ci sont trop « grands » par rapport à la taille du fichier et que le gestionnaire considère qu’ils ne sont pas à prendre en compte ?

    Jérémy.

    Répondre
  3. Bonjour,
    J’ai beaucoup aimé votre explication mais le résultat est le contraire chez moi et j’aimerai savoir comment c’est possible !
    j’ai la totalité de mes fichiers qui font 301 Go et une taille sur disque qui ne fait que 165Go, Pourrais-ce être lié au fait que j’ai des fichiers qui sont synchronisés en ligne (avec Onedrive) mais que le l’affichage des propriété compte quand même cela comme un fichier?
    Merci Beaucoup !

    Répondre
    • Bonjour Romain,

      merci pour votre commentaire !

      La taille théorique est donc de 301 Go ? Effectivement cela fait une sacrée différence avec la taille sur le disque… Je n’ai pas l’explication mais celle que vous donnez serait à creuser, c’est à dire que ces fichiers seraient comptés « en double » dans les propriétés. À voir toutefois si avec un fichier créé sans synchronisation, le résultat obtenu est « normal ».

      Si vous trouvez une confirmation, n’hésitez pas à me le redire.

      Bonne journée !

      Jérémy.

      Répondre
  4. Bonjour, et merci pour l’explication.
    Mais surprise: sur mon NAS Synology comportant 2 disques de de 4 TO en Raid (2 disques à contenu identique pour la sécurité soit 4 TO utilisables) un dossier qui utilise à peu près la moitié des données ferait (« propriétés ») 151 Go et … 10.3 TO sur le disque, soit 2,5 fois la capacité réelle totale! Je ne retrouve pas exactement les mêmes chiffres avec « Treesize » mais c’est du même ordre de grandeur (9.6 To) !
    Chaque cluster ferait selon Treesize 1024 octets, en NTFS.
    Le NAS fonctionnerait sur une « Linux » propriétaire, je crois.

    Répondre
  5. Bonjour,
    Je me doute qu’a l’époque des disques magnétique (hdd) il fallait alloué des tailles fixe de clusters lors du formatage du dd. Mais avec les SSD qui ne sont plus magnétique ne serait il pas possible de faire en sorte que le dd crée le nombre et la taille des clusters pour qu’ils soient parfaitement à la même taille que le fichier ?

    Répondre
  6. Bonjour,

    merci pour ces explications, je comprends mieux à présent d’où viennent ces écarts. et je vois qu’il peut y avoir des cas particuliers 🙂
    Il reste une question en suspens pour ma curiosité : pourquoi les arrondis sont-ils si fort ? Sur votre premiers exemple, on lit : taille : 7.51 Mo (7 882 907 octets)… pourquoi ce n’est pas 7.89 Mo en arrondi ?

    Merci beaucoup pour votre aide !!

    Répondre
    • Bonjour,

      de rien et merci pour votre commentaire !
      Pour les arrondis, je pense que c’est plutôt un problème d’unités et qu’il est indiqué Mo au lieu de Mio (Mibioctet). Ainsi le « Mo » qui devrait représenter 1 000 000 octets, est en fait un « Mio » qui représente 2^20 octets soit 1 048 576 octets.

      Ceci fait une différence non négligeable pour les tailles qu’on atteint actuellement. Malheureusement les préfixes binaires sont assez peu utilisés… La page Wikipédia est plutôt complète : https://fr.wikipedia.org/wiki/Pr%C3%A9fixe_binaire

      Bonne journée !
      Jérémy

      Répondre
  7. Merci pour votre explication qui satisfait une question que je me posais depuis lurette sans jamais avoir prit le temps de chercher à comprendre jusqu’à ce jour !
    Il s’agit donc d’une question de taille de clusters…
    « Mais bon dieu c’est bien sûr ! » (exclamation connue seulement des -très- vieux téléspectateurs ayant connu le commissaire Maigret ! 🙂 )

    Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.