2Sep

Pourquoi l'espace disque vide accélère-t-il les ordinateurs?

Lorsque vous en apprendrez plus sur les ordinateurs et leur fonctionnement, vous rencontrerez parfois quelque chose qui ne semble pas logique. Dans cet esprit, est-ce que la vidange de l'espace disque accélère réellement les ordinateurs? Le SuperUser Q & A d'aujourd'hui a une réponse à la question d'un lecteur perplexe.

Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

Image reproduite avec l'aimable autorisation de nchenga( Flickr).

La question

SuperUser lecteur Remi.b veut savoir pourquoi la vidange de l'espace disque semble accélérer un ordinateur:

J'ai regardé beaucoup de vidéos et maintenant comprendre comment les ordinateurs fonctionnent un peu mieux. Je comprends ce qu'est la RAM, à propos de la mémoire volatile et non-volatile, et le processus d'échange. Je comprends également pourquoi l'augmentation de la RAM accélère un ordinateur.

Ce que je ne comprends pas, c'est pourquoi le nettoyage de l'espace disque semble accélérer un ordinateur. Est-ce que ça accélère vraiment un ordinateur? Si oui, pourquoi le fait-il?

Cela a-t-il quelque chose à voir avec la recherche d'espace mémoire pour sauvegarder des choses ou avec des choses en mouvement pour faire un espace continu assez long pour sauver quelque chose? Combien d'espace vide dois-je laisser libre sur un disque dur?

Pourquoi l'espace disque de vidage semble accélérer un ordinateur?

La réponse

SuperUser contributeur Jason C a la réponse pour nous:

"Pourquoi est-ce que la vidange de l'espace disque accélère les ordinateurs?"

Ce n'est pas le cas, du moins pas tout seul. C'est un mythe très commun. La raison pour laquelle c'est un mythe commun est parce que le remplissage de votre disque dur arrive souvent en même temps que d'autres choses qui pourraient ralentir votre ordinateur ( A) .La performance des disques SSD a tendance à se dégrader au fur et à mesure qu'ils se remplissent, mais il s'agit d'un problème relativement nouveau, unique aux disques SSD, et qui n'est pas vraiment perceptible pour les utilisateurs occasionnels. Généralement, un espace disque libre faible est juste un hareng rouge.

Par exemple, des choses comme:

1. Fragmentation de fichier. La fragmentation de fichier est un problème ( B) , mais le manque d'espace libre, bien que certainement l'un des nombreux facteurs contributifs, n'est pas la seule cause de celui-ci. Quelques points clés ici:

  • Les chances de fragmentation d'un fichier sont et non liées à la quantité d'espace libre restant sur le disque. Ils sont liés à la taille du plus grand bloc contigu d'espace libre sur le lecteur( c'est-à-dire des "trous" d'espace libre), que la quantité d'espace libre arrive à placer une limite supérieure sur .Ils sont également liés à la manière dont le système de fichiers gère l'allocation de fichiers( plus bas que ). Considérer: Un lecteur qui est 95 pour cent plein avec tout l'espace libre dans un seul bloc contigu a zéro pour cent de chance de fragmenter un nouveau fichier ( C) ( et la chance de fragmenter un fichier ajouté est indépendant de l'espace libre).Un lecteur qui est plein à cinq pour cent mais avec des données réparties uniformément sur le lecteur a de très fortes chances de fragmentation.
  • Gardez à l'esprit que la fragmentation de fichiers affecte uniquement les performances lorsque les fichiers fragmentés sont en cours d'accès . Considérez: Vous avez un bon lecteur défragmenté qui contient encore beaucoup de «trous» libres. Un scénario commun. Tout fonctionne bien. Finalement, cependant, vous arrivez à un point où il n'y a plus de gros blocs d'espace libre restant. Vous téléchargez un film énorme, le fichier finit par être gravement fragmenté. Cela ne ralentira pas votre ordinateur .Tous vos fichiers d'application et ceux qui étaient auparavant bien ne seront pas brusquement fragmentés. Cela peut rendre le chargement du film plus long( bien que les débits binaires des films soient si faibles comparés aux vitesses de lecture du disque dur qu'il soit probablement imperceptible), et il peut affecter les performances liées aux E / S pendant le chargement du film, maisà part ça, rien ne change.
  • Alors que la fragmentation de fichiers est certainement un problème, souvent les effets sont atténués par le système d'exploitation et la mise en mémoire tampon au niveau matériel. Les écritures différées, les lectures anticipées, les stratégies telles que le prefetcher dans Windows, etc., aident à réduire les effets de la fragmentation. En général n'a pas d'impact significatif jusqu'à ce que la fragmentation devienne sévère( j'irais même jusqu'à dire que tant que votre fichier d'échange n'est pas fragmenté, vous ne le remarquerez probablement jamais).

2. L'indexation de recherche est un autre exemple. Dites que vous avez l'indexation automatique activée et un système d'exploitation qui ne gère pas cela gracieusement. Lorsque vous enregistrez de plus en plus de contenu indexable sur votre ordinateur( documents et autres), l'indexation peut prendre de plus en plus de temps et peut avoir un effet sur la vitesse perçue de votre ordinateur pendant son exécution..Ce n'est pas lié à l'espace libre, c'est lié à la quantité de contenu indexable que vous avez. Cependant, manquer d'espace libre va de pair avec le stockage de plus de contenu, donc une fausse connexion est établie.

3. Logiciel anti-virus( similaire à l'exemple de l'index de recherche).Dites que vous avez un logiciel anti-virus configuré pour effectuer une analyse en arrière-plan de votre disque. Comme vous avez de plus en plus de contenu scannable, la recherche prend plus de ressources d'E / S et d'UC, ce qui peut interférer avec votre travail. Encore une fois, ceci est lié à la quantité de contenu scannable que vous avez. Plus de contenu équivaut souvent à moins d'espace libre, mais le manque d'espace libre n'est pas la cause.

4. Logiciel installé.Dites que vous avez beaucoup de logiciels installés qui se chargent lorsque votre ordinateur démarre, ralentissant ainsi les temps de démarrage. Ce ralentissement se produit parce que beaucoup de logiciels sont en cours de chargement. Cependant, les logiciels installés prennent de l'espace sur le disque dur. Par conséquent, l'espace libre du disque dur diminue en même temps que cela se produit, et encore une fois une fausse connexion peut être facilement faite.

5. Beaucoup d'autres exemples le long de ces lignes qui, pris ensemble, apparaissent pour associer étroitement manque d'espace libre avec des performances inférieures.

Ce qui précède illustre une autre raison pour laquelle ce mythe est si répandu: le manque d'espace libre n'est pas une cause directe de ralentissement, de désinstallation de diverses applications, de suppression de contenu indexé ou scanné, etc. parfois( mais pas toujours).de cette réponse) augmente à nouveau les performances pour des raisons indépendantes de la quantité d'espace libre restant. Mais cela libère naturellement aussi l'espace du disque dur. Par conséquent, encore une fois, une connexion apparente( mais fausse) entre "plus d'espace libre" et un "ordinateur plus rapide" peut être faite.

Considérez: Si vous avez une machine fonctionnant lentement à cause de beaucoup de logiciels installés, etc., clonez votre disque dur( exactement) sur un disque dur plus grand, puis développez vos partitions pour gagner plus d'espace libre, la machine ne va pas magiquementen hautLe même chargement de logiciel, les mêmes fichiers sont toujours fragmentés de la même manière, le même indexeur de recherche fonctionne toujours, rien ne change malgré le fait qu'il y a plus d'espace libre.

"Cela a-t-il quelque chose à voir avec la recherche d'espace mémoire pour sauvegarder des choses?"

Non. Il ya deux choses très importantes à noter ici:

1. Votre disque dur ne cherche pas autour de trouver des endroits pour mettre les choses. Votre disque dur est stupide. Ce n'est rien. C'est un gros bloc de stockage adressé qui met aveuglément les choses là où votre système d'exploitation le dit et lit tout ce qui lui est demandé.Les disques modernes sont dotés de mécanismes sophistiqués de mise en cache et de mise en mémoire tampon conçus pour prédire ce que le système d'exploitation demandera en fonction de l'expérience acquise au fil du temps( certains lecteurs sont même conscients du système de fichiers).conduire comme une grande brique de stockage avec des fonctionnalités de performance bonus occasionnels.

2. Votre système d'exploitation ne recherche pas non plus d'endroits où mettre des choses. Il n'y a pas de recherche. Beaucoup d'efforts ont été consacrés à la résolution de ce problème, car il est essentiel pour les performances du système de fichiers. La façon dont les données sont réellement organisées sur votre disque est déterminée par votre système de fichiers. Par exemple, FAT32( anciens PC DOS et Windows), NTFS( éditions ultérieures de Windows), HFS +( Mac), ext4( certains systèmes Linux) et bien d'autres. Même le concept d'un «fichier» et d'un «répertoire» sont simplement des produits de systèmes de fichiers typiques - les disques durs ne savent rien des bêtes mystérieuses appelées .Les détails sont en dehors de la portée de cette réponse. Mais essentiellement, tous les systèmes de fichiers courants ont des moyens de suivre où se trouve l'espace disponible sur un lecteur de sorte qu'une recherche d'espace libre est, dans des circonstances normales( c'est-à-dire des systèmes de fichiers en bonne santé), inutile. Exemples:

  • NTFS a une table de fichiers maître, qui inclut les fichiers spéciaux $ Bitmap , etc., et beaucoup de méta-données décrivant le lecteur. Essentiellement, il garde la trace de l'emplacement des blocs libres suivants afin que les nouveaux fichiers puissent être écrits directement sur des blocs libres sans avoir à analyser le disque à chaque fois.
  • Un autre exemple: Ext4 a ce qu'on appelle l'allocateur bitmap, une amélioration par rapport à ext2 et ext3 qui l'aide fondamentalement à déterminer directement où se trouvent les blocs libres au lieu d'analyser la liste des blocs libres. Ext4 prend également en charge l'allocation différée , c'est-à-dire la mise en tampon des données dans la RAM par l'OS avant de l'écrire sur le disque afin de prendre de meilleures décisions pour réduire la fragmentation.
  • Beaucoup d'autres exemples.

"Ou avec des choses qui bougent pour faire un espace continu assez long pour sauver quelque chose?"

Non. Cela n'arrive pas, du moins pas avec tout système de fichiers que je connais. Les fichiers finissent par être fragmentés.

Le processus consistant à "déplacer des objets pour constituer un espace contigu suffisant pour sauvegarder quelque chose" s'appelle et défragmente .Cela n'arrive pas lorsque les fichiers sont écrits. Cela se produit lorsque vous exécutez votre défragmenteur de disque. Sur les nouvelles éditions de Windows, au moins, cela se produit automatiquement sur un calendrier, mais il n'est jamais déclenché par l'écriture d'un fichier.

Etre capable éviter déplacer des choses comme ceci est la clé de la performance du système de fichiers, et c'est pourquoi la fragmentation se produit et pourquoi la défragmentation existe comme une étape distincte.

"Combien d'espace vide dois-je laisser libre sur un disque dur?"

C'est une question plus délicate à répondre( et cette réponse est déjà devenue un petit livre).

Règles de base:

1. Pour tous les types de lecteurs:

  • Surtout, laissez assez d'espace libre pour pour utiliser efficacement votre ordinateur .Si vous manquez d'espace pour travailler, vous aurez besoin d'un plus grand disque.
  • De nombreux outils de défragmentation de disque nécessitent un minimum d'espace libre( je pense que celui avec Windows requiert 15%, le pire des cas) pour fonctionner. Ils utilisent cet espace libre pour contenir temporairement des fichiers fragmentés lorsque d'autres éléments sont réorganisés.
  • Laissez de l'espace pour les autres fonctions du système d'exploitation. Par exemple, si votre machine n'a pas beaucoup de RAM physique et que la mémoire virtuelle est activée avec un fichier de page de taille dynamique, vous devez laisser suffisamment d'espace pour la taille maximale du fichier de la page. Ou si vous avez un ordinateur portable que vous mettez en mode hibernation, vous aurez besoin d'assez d'espace libre pour le fichier d'état d'hibernation. Des choses comme ça.

2. Spécifique SSD:

  • Pour une fiabilité optimale( et dans une moindre mesure, des performances), les disques SSD nécessitent de l'espace libre, qui, sans entrer dans trop de détails, permet de répartir les données autour du disquele même endroit( qui les use).Ce concept de laisser de l'espace libre est appelé over-provisioning. Il est important, , mais dans de nombreux SSD, l'espace de provisionnement obligatoire existe déjà .Autrement dit, les lecteurs ont souvent quelques dizaines de Go de plus que ce qu'ils rapportent à l'OS.Les lecteurs d'extrémité inférieure nécessitent souvent que vous laissiez manuellement l'espace non partitionné , mais pour les lecteurs avec l'OP obligatoire, vous n'avez pas besoin de laisser d'espace libre .Une chose importante à noter ici est que espace sur-approvisionné est souvent seulement pris de l'espace non partitionné .Donc, si votre partition occupe tout votre disque et que vous laissez de l'espace libre, ne compte pas toujours .Plusieurs fois, le surapprovisionnement manuel vous oblige à réduire votre partition à être inférieure à la taille du lecteur. Consultez le manuel d'utilisation de votre SSD pour plus de détails. TRIM, la collecte des ordures et autres ont aussi des effets, mais ceux-ci sont en dehors de la portée de cette réponse.

Personnellement, je prends habituellement un disque plus gros quand il me reste environ 20-25% d'espace libre. Ce n'est pas lié à la performance, c'est juste que quand j'arriverai à ce point, je pense que je serai bientôt à court d'espace pour les données et il est temps d'obtenir un plus grand disque.

Plus important que de regarder l'espace libre, assurez-vous que la défragmentation programmée est activée le cas échéant( pas sur les disques SSD) afin de ne jamais arriver au point où cela devient assez grave pour vous affecter.

Il y a une dernière chose à mentionner. L'une des autres réponses ici mentionné que le mode semi-duplex de SATA empêche la lecture et l'écriture en même temps. Bien que cela soit vrai, cela est grandement simplifié et n'est généralement pas lié aux problèmes de performance discutés ici. Ce que cela signifie, simplement, est que les données ne peuvent pas être transférées dans les deux sens sur le fil en même temps. Cependant, SATA a une spécification assez complexe impliquant de minuscules tailles de blocs maximum( environ 8kB par bloc sur le fil, je pense), des files d'attente de lecture et d'écriture, etc., et n'empêche pas les écritures en tampon pendant les lectures entrelacéesopérations, etc.

Tout blocage qui se produit serait dû à la concurrence pour les ressources physiques, généralement atténuée par beaucoup de cache. Le mode duplex de SATA est presque entièrement hors de propos ici.

( A) "Ralentir" est un terme générique. Ici, je l'utilise pour faire référence à des choses qui sont liées aux E / S( par exemple, si votre ordinateur est coincé, le contenu du disque dur n'a aucun impact) ou lié à un CPU et qui est en concurrence avec des choses tangentiellement liées. Utilisation du processeur( c.-à-d. Logiciel anti-virus analysant des tonnes de fichiers).

( B) Les SSD sont affectés par la fragmentation en ce que les accès séquentiels sont généralement plus rapides que les accès aléatoires, même si les SSD ne rencontrent pas les mêmes limites qu'un périphérique mécanique( même si l'absence de fragmentation ne garantit pas un accès séquentieletc.).Cependant, dans pratiquement tous les scénarios d'utilisation générale, il s'agit d'un non-problème. Les différences de performances dues à la fragmentation sur les disques SSD sont généralement négligeables pour le chargement d'applications, le démarrage de l'ordinateur, etc.

( C) En supposant un système de fichiers sensé qui ne fragmente pas les fichiers à dessein.

Assurez-vous de lire le reste de la discussion animée sur SuperUser via le lien ci-dessous!

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.