Pourquoi la vidange de l'espace disque accélère-t-elle les ordinateurs?


191

J'ai visionné plusieurs vidéos et je comprends maintenant un peu mieux le fonctionnement des ordinateurs. Je comprends mieux ce qu'est la RAM, mémoire volatile et non volatile et le processus de permutation. Je comprends aussi pourquoi l'augmentation de la RAM accélère la vitesse d'un ordinateur.

Je ne comprends pas pourquoi le nettoyage de l'espace disque accélère la vitesse d'un ordinateur. Le fait-il? Pourquoi ça? Est-ce que cela a à voir avec la recherche de l'espace disponible pour sauver des choses? Ou en déplaçant des objets pour créer un espace suffisamment long et continu pour sauver quelque chose? Combien d'espace libre sur le disque dur devrais-je laisser libre?


37
il n'accélère pas vraiment les ordinateurs, il réduit uniquement les risques de fragmentation des fichiers, ce qui ralentit les disques durs. C'est l'un des plus grands mythes sur PC que tout le monde répète. Pour repérer les goulots de démarrage sur le PC, tracez-le avec xperf / WPA.
magicandre1981

9
FWIW il speeds up the experience of using a PC.
edthethird

4
@ magicandre1981: Il y a un petit bijou de vérité. Plus il y a d'éléments dans chaque dossier, plus la traversée de fichier est lente, ce qui affecte tout ce qui utilise un chemin de fichier, ce qui est ... tout. Mais c'est minuscule .
Mooing Duck

4
@MooingDuck Bien que vrai, cela est lié au nombre de fichiers d'un dossier, pas à la taille des fichiers ni à la quantité d'espace disponible sur le lecteur. Cet effet n'est pas lié à l'espace disque restant. L'effet est également limité au dossier lui-même, il ne "ralentira" pas l'ensemble de l'ordinateur. Certains systèmes de fichiers, par exemple ext3 / 4, utilisent des arborescences de répertoires hachés pour faciliter les recherches (y compris l'accès aux sous-dossiers), ce qui limite encore la portée de l'effet, par exemple uniquement lors de la création de la liste du contenu d'un répertoire.
Jason C

4
Quelles vidéos regardiez-vous exactement?
Loko

Réponses:


313

Ici, j'ai écrit un livre par accident. Prendre un café d'abord.

Pourquoi la vidange de l'espace disque accélère-t-elle les ordinateurs?

Ce n'est pas le cas, du moins pas seul. C'est un mythe très commun. La raison pour laquelle il est un mythe commun est parce que le remplissage de votre disque dur se produit souvent en même temps que d’autres tâches qui, traditionnellement, pourraient ralentir votre ordinateur . Les performances des disques SSD ont tendance à se dégrader au fur et à mesure que le disque se remplit , mais il s'agit d'un problème relativement nouveau, propre aux disques SSD, qui ne se remarque pas vraiment pour les utilisateurs occasionnels. En règle générale, un espace disque libre insuffisant n'est qu'un fouillis rouge .

Par exemple, des choses comme:

  • Fragmentation de fichier. La fragmentation des fichiers est un problème †† , mais le manque d’espace libre, bien qu’un des nombreux facteurs qui y contribuent, n’en est pas la seule cause. Quelques points clés ici:

    • Les chances qu'un fichier soit fragmenté ne sont pas liées à la quantité d'espace libre disponible sur le lecteur. Ils sont liés à la taille du plus grand bloc d'espace libre contigu sur le lecteur (par exemple, des "trous" d'espace libre) sur lesquels la quantité d'espace libre se trouve placer une limite supérieure . Ils sont également liés à la manière dont le système de fichiers gère l’allocation de fichiers (voir ci-dessous). Considérez: Un lecteur qui est rempli à 95% avec tout l’espace libre dans un seul bloc contigu a 0% de chance de fragmenter un nouveau fichier ††† (et les chances de fragmenter un fichier ajouté sont indépendantes de l’espace libre). Un lecteur plein à 5%, mais dont les données sont réparties uniformément sur le lecteur, présente un risque très élevé de fragmentation.

    • N'oubliez pas que la fragmentation de fichiers affecte uniquement les performances lorsque l'utilisateur accède aux fichiers fragmentés . Considérez: vous avez un lecteur défragmenté agréable qui a encore beaucoup de "trous" libres. Un scénario commun. Tout se passe bien. Cependant, vous finissez par arriver à un point où il ne reste plus de gros blocs d'espace libre. 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 corrects ne seront pas subitement fragmentés. Cela peut faire le filmprend plus de temps à charger (bien que les débits binaires typiques d'un film soient si bas comparés aux taux de lecture du disque dur qu'il soit probablement imperceptible), et cela peut affecter les performances liées aux E / S pendant le chargement du film , mais cela ne correspond pas à cela, rien ne change.

    • Bien que la fragmentation des fichiers soit certainement un problème, les effets sont souvent atténués par la mise en mémoire tampon et la mise en cache du système d'exploitation et du matériel. Les écritures différées, la lecture anticipée, les stratégies telles que le préfetcher dans Windows, etc., contribuent à réduire les effets de la fragmentation. En général , vous ne fait l' expérience de l' impact significatif jusqu'à ce que la fragmentation devient grave (j'ose même dire que tant que votre fichier d'échange n'est pas fragmenté, vous remarquerez probablement jamais).

  • L'indexation de recherche est un autre exemple. Supposons que l'indexation automatique est activée et que le système d'exploitation ne gère pas cette tâche avec élégance. Au fur et à mesure que vous enregistrez de plus en plus de contenu indexable sur votre ordinateur (documents et autres), l'indexation peut prendre plus de temps et peut commencer à avoir une incidence sur la vitesse perçue de votre ordinateur lorsqu'il est en cours d'exécution, aussi bien en termes d'utilisation d'E / S que de processeur. . Cela n'est pas lié à l'espace libre, mais à la quantité de contenu indexable que vous avez. Cependant, le fait de manquer d'espace libre va de pair avec le stockage de davantage de contenu, ce qui crée une fausse connexion.

  • Logiciel antivirus. Similaire à l'exemple d'indexation de recherche. Supposons qu'un logiciel antivirus soit configuré pour analyser en arrière-plan votre lecteur. Comme vous avez de plus en plus de contenu numérisable, la recherche nécessite davantage de ressources d'E / S et de CPU, pouvant éventuellement interférer avec votre travail. Encore une fois, cela est lié à la quantité de contenu numérisable que vous avez. Plus de contenu signifie souvent moins d'espace libre, mais le manque d'espace libre n'en est pas la cause.

  • Logiciel installé. Supposons que de nombreux logiciels installés se chargent au démarrage de votre ordinateur, ce qui ralentit les temps de démarrage. Ce ralentissement est dû au chargement de nombreux logiciels. Cependant, les logiciels installés prennent de l'espace sur le disque dur. Par conséquent, l'espace libre sur le disque dur diminue en même temps que cela, et une nouvelle connexion peut être facilement établie.

  • De nombreux autres exemples allant dans ce sens qui, pris ensemble, semblent associer étroitement le manque d’espace libre à des performances moindres.

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

Considérez: Si votre machine tourne lentement en raison de nombreux logiciels installés, etc., et que vous clonez exactement votre disque dur sur un disque dur plus volumineux, développez ensuite vos partitions pour obtenir plus d'espace libre, la machine ne fonctionnera pas comme par magie up. Les mêmes logiciels sont chargés, 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 ait plus d’espace libre.

Est-ce que cela a à voir avec la recherche d'un espace mémoire où sauvegarder des choses?

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

  1. Votre disque dur ne cherche pas pour trouver des endroits pour mettre des choses. Votre disque dur est stupide. Ce n'est rien. C'est un gros bloc de stockage adressé qui place aveuglément les choses là où votre système d'exploitation le dit et lit tout ce qui lui est demandé. Les disques modernes ont des 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 va demander en fonction de l'expérience acquise au fil du temps (certains disques sont même conscients du système de fichiers qu'ils utilisent), mais essentiellement, pensez à votre lecteur comme une grosse brique de stockage avec des fonctionnalités de performance bonus occasionnelles.

  2. Votre système d'exploitation ne recherche pas non plus d'endroits où placer des choses. Il n'y a pas de "recherche". De nombreux efforts ont été déployés pour résoudre ce problème, car il est essentiel aux performances du système de fichiers. La manière dont les données sont réellement organisées sur votre lecteur est déterminée par votre système de fichiers.. Par exemple, FAT32 (anciens PC sous DOS et Windows), NTFS (plus tard Windows), HFS + (Mac), ext4 (certains Linux) et bien d’autres. Même les concepts de "fichier" et de "répertoire" ne sont que des produits de systèmes de fichiers classiques - les disques durs ne connaissent pas les mystérieuses bêtes appelées "fichiers". Les détails sortent du cadre de cette réponse. Cependant, tous les systèmes de fichiers courants disposent de moyens permettant de suivre l'emplacement de l'espace disponible sur un lecteur, de sorte qu'une recherche d'espace libre est, dans des circonstances normales, inutile (systèmes de fichiers en bonne santé). Exemples:

    • NTFS a une table de fichiers principale , qui comprend les fichiers spéciaux $Bitmap, etc., ainsi que de nombreuses métadonnées décrivant le lecteur. Essentiellement, il garde la trace des prochains blocs libres, afin que les nouveaux fichiers puissent être écrits directement dans des blocs libres sans avoir à analyser le lecteur à chaque fois.

    • Un autre exemple, ext4 a ce qu'on appelle "l'allocateur de bitmap" , une amélioration par rapport à ext2 et ext3 qui l'aide essentiellement à déterminer directement où sont 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 mémoire tampon des données dans la RAM par le système d'exploitation avant de l'écrire sur le lecteur afin de prendre de meilleures décisions quant à l'emplacement du fichier afin de réduire la fragmentation.

    • Beaucoup d'autres exemples.

ou avec des choses en mouvement pour constituer un espace suffisamment long et continu pour sauver quelque chose?

Non, cela ne se produit pas, du moins avec aucun système de fichiers à ma connaissance. Les fichiers finissent par être fragmentés.

La défragmentation consiste à "déplacer des objets pour créer un espace suffisamment long pour conserver quelque chose" . Cela n'arrive pas lorsque les fichiers sont écrits. Cela se produit lorsque vous exécutez votre défragmenteur de disque. Sous Windows plus récent, au moins, cela se produit automatiquement selon un planning, mais cela n’est jamais déclenché par l’écriture d’un fichier.

Il est essentiel pour les performances du système de fichiers d' éviter de déplacer des éléments de cette manière, ce qui explique la fragmentation et la défragmentation distinctes.

Combien d'espace libre sur le disque dur devrais-je laisser libre?

C'est une question plus délicate à laquelle répondre, et cette réponse s'est déjà transformée en un petit livre.

Règles de base:

  • Pour tous types de lecteurs:

    • Plus important encore, laissez suffisamment d’espace libre pour utiliser votre ordinateur de manière efficace . Si vous manquez d'espace pour travailler, vous aurez besoin d'un disque plus volumineux.
    • De nombreux outils de défragmentation de disque requièrent un minimum d’espace libre (je pense que celui avec Windows requiert 15% du pire des cas) pour pouvoir fonctionner. Ils utilisent cet espace pour stocker temporairement des fichiers fragmentés lorsque d’autres éléments sont réorganisés.
    • Laissez de la place pour d'autres fonctions du système d'exploitation. Par exemple, si votre ordinateur ne dispose pas de beaucoup de RAM physique et que la mémoire virtuelle est activée avec un fichier de page de taille dynamique, vous souhaiterez laisser suffisamment d'espace pour la taille maximale du fichier de page. Ou si vous avez mis un ordinateur portable en mode veille prolongée, vous aurez besoin de suffisamment d'espace libre pour le fichier d'état d'hibernation. Des choses comme ça.
  • Spécifique SSD:

    • Pour une fiabilité optimale (et dans une moindre mesure, des performances), les disques SSD nécessitent un espace libre qu'ils utilisent sans trop entrer dans les détails pour répartir les données sur le lecteur afin d'éviter d'écrire constamment au même endroit (qui les usent). Ce concept de laisser de l'espace libre est appelé surapprovisionnement . C'est important, mais dans de nombreux disques SSD, il existe déjà de l'espace sur-approvisionné obligatoire . En d’autres termes, les disques durs ont souvent quelques dizaines de Go de plus qu’ils n’indiquent au système d’exploitation. Les disques bas de gamme exigent souvent que vous laissiez manuellement de l' espace non partitionné , mais pour les disques avec OP obligatoire, vous n'avez pas besoin de laisser de l'espace libre . Une chose importante à noter ici est queL'espace sur-approvisionné est souvent pris uniquement à partir d'un espace non partitionné . Donc, si votre partition occupe tout votre disque et que vous y laissez de l'espace, cela ne compte pas toujours . Souvent, le sur-approvisionnement manuel nécessite de réduire la taille de la partition à la taille du lecteur. Consultez le manuel d'utilisation de votre SSD pour plus de détails. TRIM et le ramassage des ordures ont des effets également, mais ceux-ci sortent du cadre 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é aux performances, c’est juste que lorsque j’arriverai à ce point, je pense que je vais bientôt manquer d’espace pour les données, et il est temps d’obtenir un disque plus puissant.

Plus important que de regarder l'espace libre est de s'assurer que la défragmentation planifiée est activée le cas échéant (pas sur les disques SSD), de sorte que vous n'arriviez jamais au point où cela devient suffisamment grave pour vous affecter. Il est tout aussi important d'éviter les ajustements erronés et de laisser votre système d'exploitation agir, par exemple , ne désactivez pas le préfetcher Windows ( sauf pour les SSD ), etc.


Il y a une dernière chose qui mérite d'être mentionnée. Une des autres réponses citées ici indique que le mode semi-duplex de SATA empêche la lecture et l’écriture simultanées. Bien que cela soit vrai, cela est extrêmement simpliste et n’a pour la plupart aucun lien avec les problèmes de performances abordés ici. Cela signifie simplement que les données ne peuvent pas être transférées dans les deux sens sur le réseau en même temps. Cependant, SATA a une spécification assez complexe impliquant de très petites tailles de bloc maximum (environ 8 Ko par bloc sur le câble, je pense), des files d'attente d'opérations de lecture et d'écriture, etc., et n'empêche pas les écritures dans les tampons de se produire pendant que des lectures sont en cours, entrelacées. opérations, etc.

Tout blocage qui se produirait serait dû à une compétition pour des ressources physiques, généralement atténuée par une grande quantité de cache. Le mode duplex de SATA est presque entièrement sans importance ici.


"Ralentir" est un terme large. Ici, je l’utilise pour faire référence à des éléments liés à l’entrée / sortie (par exemple, si votre ordinateur est assiégé, le contenu du disque dur n’a aucun impact), ou liés au processeur et en concurrence avec des éléments liés de manière tangentielle. utilisation élevée du processeur (par exemple, un logiciel antivirus analysant des tonnes de fichiers).

†† Les disques SSD sont affectés par la fragmentation en ce que les vitesses d'accès séquentiel sont généralement plus rapides que les accès aléatoires, même si les disques SSD ne sont pas soumis aux mêmes limitations qu'un dispositif mécanique (même dans ce cas, le manque de fragmentation ne garantit pas l'accès séquentiel, en raison du nivellement par l'usure, etc. comme le note James Snell dans les commentaires). Cependant, dans pratiquement tous les scénarios d'utilisation générale, il ne s'agit pas d'un problème. Les différences de performances dues à la fragmentation sur les disques SSD sont généralement négligeables pour des tâches telles que le chargement d'applications, le démarrage de l'ordinateur, etc.

††† En supposant un système de fichiers sain qui ne fragmente pas intentionnellement les fichiers.


Réponse très complète, merci. Merci également pour le rappel de prendre un café, c'était très apprécié.
Hashim

22

Outre l'explication de Nathanial Meek pour les disques durs, il existe un scénario différent pour les disques SSD.

Les disques SSD ne sont pas sensibles aux données dispersées car le temps d'accès à n'importe quel emplacement du disque SSD est identique. Le temps d’accès SSD typique est de 0,1 ms, contre 10 à 15 ms pour les disques durs. Il est toutefois sensible aux données déjà écrites sur le disque SSD.

Contrairement aux disques durs traditionnels qui peuvent écraser des données existantes, un disque SSD a besoin d'espace totalement vide pour écrire des données. Cela se fait par des fonctions appelées Trim et Garbage Collection, qui purgent les données marquées comme supprimées. La récupération de place fonctionne mieux en combinaison avec une certaine quantité d'espace libre sur le SSD. Il est généralement recommandé de disposer de 15% à 25% d’espace libre.

Si le garbage collection ne peut pas terminer son travail à temps, chaque opération d'écriture est précédée d'un nettoyage de l'espace sur lequel les données doivent être écrites. Cela double le temps pour chaque opération d'écriture et dégrade les performances globales.

Voici un excellent article qui explique le fonctionnement de Trim and Garbage Collection.


Notez que les disques SSD PEUVENT écrire dans des cellules partiellement remplies, en lisant les données partielles et en écrivant avec davantage d'écrits, mais ils ont tendance à ne le faire que lorsque c'est inévitable. Ceci est bien sûr également assez lent et indique généralement que le lecteur est tellement fragmenté qu'il en faudra beaucoup pour le faire écrire à nouveau rapidement.
moelleux

Cela dépendra également du contrôleur. Et comme il y a tellement de variations, je ne voulais pas entrer dans ce niveau de détail.
whs

Les 15-25% dont vous parlez sont appelés "surapprovisionnement". Certains lecteurs ont déjà un espace obligatoire alloué à cet effet (par exemple, 1TB EVO 840 est réservé à 9% et n'est pas signalé comme libre au système d'exploitation), pour ceux dont vous n'avez pas besoin de laisser de l'espace libre. Je pense que dans certains cas, l’espace sur-approvisionné doit également être non partitionné et qu’il ne suffit pas de laisser de l’espace libre sur votre système de fichiers, il vous faudrait en fait laisser de l’espace non alloué.
Jason C

Le surapprovisionnement est autre chose. Ce sont des nands en attente de remplacer les nands défectueux. Les 15-25% sont nécessaires pour libérer des blocs (pages) et pour niveler l’usure. Vous voudrez peut-être lire ici pour les détails ==> thessdreview.com/daily-news/latest-buzz/…
whs le

@whs Ce n'est pas, et l'article que vous créez un lien ne signifie pas qu'il l'est. L'espace surapprovisionné (voir également les sources citées dans cette section, ou Google) correspond au pool de blocs libres. Les blocs de ce pool sont utilisés pour la récupération de place / écriture rapide, le nivellement par usure et le remplacement des cellules défectueuses. En ce qui concerne le remplacement des cellules défectueuses, tout est dans le même bassin. une fois qu'il est plein de cellules défectueuses, vous commencez à voir les erreurs cohérentes. Voir également la diapositive 12 de cette présentation de LSI ; le tout vaut la peine d’être examiné, il aborde directement le sujet.
Jason C

12

Quelque part dans un disque dur traditionnel se trouve un plateau en métal en rotation où les bits et les octets individuels sont réellement codés. Lorsque des données sont ajoutées au plateau, le contrôleur de disque les stocke d’abord à l’extérieur du disque. Au fur et à mesure que de nouvelles données sont ajoutées, de l'espace est utilisé en se déplaçant vers l'intérieur du disque en dernier.

Dans cet esprit, deux effets entraînent une diminution des performances du disque à mesure que le disque se remplit: Seek Times et Rotational Velocity .

Temps de recherche

Pour accéder aux données, un disque dur traditionnel doit déplacer physiquement une tête de lecture / écriture dans la position correcte. Cela prend du temps, appelé le "temps de recherche". Les fabricants publient les durées de recherche de leurs disques, généralement en quelques millisecondes. Cela peut sembler peu, mais pour un ordinateur, c'est une éternité. Si vous devez lire ou écrire sur de nombreux emplacements de disque différents pour effectuer une tâche (ce qui est courant), ces temps de recherche peuvent s’ajouter au délai ou à la latence perceptible.

Un lecteur presque vide aura la plupart de ses données dans ou à proximité de la même position, généralement au bord extérieur près de la position de repos de la tête de lecture / écriture. Cela réduit le besoin de chercher sur le disque, ce qui réduit considérablement le temps passé à chercher. Un lecteur presque plein devra non seulement rechercher plus souvent sur le disque et avec des mouvements plus ou plus longs, mais il pourra également avoir du mal à conserver les données associées dans le même secteur, ce qui augmentera encore la recherche de disque. Cela s'appelle des données fragmentées .

La libération d'espace disque peut améliorer les temps de recherche en permettant au service de défragmentation non seulement de nettoyer plus rapidement les fichiers fragmentés, mais également de déplacer les fichiers vers l'extérieur du disque, de sorte que le temps de recherche moyen soit plus court.

Vitesse de rotation

Les disques durs tournent à un taux fixe (généralement 5 400 tr / min ou 7 200 tr / min pour votre ordinateur, et 10 000 tr / min ou même 15 000 tr / min sur un serveur). Il faut également un espace fixe (plus ou moins) sur le lecteur pour stocker un seul bit. Pour un disque tournant à une vitesse de rotation fixe, la vitesse linéaire de l'extérieur du disque sera supérieure à celle de l'intérieur du disque. Cela signifie que les bits situés près du bord extérieur du disque se déplacent au-delà de la tête de lecture plus rapidement que les bits situés près du centre du disque. Ainsi, la tête de lecture / écriture peut lire ou écrire des bits plus rapidement près du bord extérieur du disque que la interne.

Un lecteur presque vide passe le plus clair de son temps à accéder aux bits situés près du bord extérieur du disque. Un lecteur presque plein passera plus de temps à accéder aux bits situés près de la partie interne la plus lente du disque.

Encore une fois, vider l’espace disque peut accélérer l’ordinateur en permettant au service de défragmentation de déplacer les données vers l’extérieur du disque, où les lectures et les écritures sont plus rapides.

Parfois, un disque se déplace trop vite pour la tête de lecture, et cet effet est réduit car les secteurs proches du bord extérieur sont décalés ... écrits dans le désordre afin que la tête de lecture puisse suivre. Mais dans l’ensemble, cela tient.

Ces deux effets se résument à un contrôleur de disque qui regroupe d’abord les données dans la partie la plus rapide du disque et qui n’utilise pas les parties plus lentes du disque tant qu’il n’a pas à le faire. Au fur et à mesure que le disque se remplit, la partie la plus lente du disque est de plus en plus longue.

Les effets s'appliquent également aux nouveaux lecteurs. Toutes choses étant égales par ailleurs, un nouveau disque dur de 1 To est plus rapide qu'un nouveau disque de 200 Go, car le disque dur de 1 To stocke des bits plus rapprochés et ne remplit pas les pistes internes aussi rapidement. Cependant, il est rarement utile d’utiliser cette information pour éclairer les décisions d’achat, car les fabricants peuvent utiliser plusieurs plateaux pour atteindre la taille de 1 To, des plateaux plus petits pour limiter un système à 1 Go à 200 Go, des restrictions de logiciel / contrôleur de disque permettant de limiter un plateau à 1 To à 200 Go seulement. ou vendez un lecteur avec des plateaux partiellement terminés / défectueux à partir d’un lecteur de 1 To avec beaucoup de secteurs défectueux comme un lecteur de 200 Go.

Autres facteurs

Il convient de noter ici que les effets ci-dessus sont assez faibles. Les ingénieurs en matériel informatique consacrent beaucoup de temps à la réduction de ces problèmes. Des éléments tels que les mémoires tampons de disque dur, la mise en cache Superfetch et d'autres systèmes permettent de réduire le problème. Sur un système en bonne santé avec beaucoup d'espace libre, vous ne remarquerez probablement rien. De plus, les disques SSD ont des caractéristiques de performance complètement différentes. Cependant, les effets existent et un ordinateur ralentit légitimement à mesure que le lecteur se remplit. Sur un système en mauvaise santé , où l'espace disque est très réduit, ces effets peuvent créer une situation de saturation de disque, le disque cherchant en permanence des données fragmentées et libérant de l'espace disque pouvant résoudre ce problème, ce qui entraîne des améliorations plus spectaculaires et plus visibles. .

De plus, l'ajout de données sur le disque signifie que certaines autres opérations, telles que l'indexation ou les analyses AV et les processus de défragmentation, ne font que faire plus de travail en arrière-plan, même s'ils le font à la même vitesse ou presque.

Enfin, les performances des disques sont un indicateur énorme des performances globales des PC de nos jours ... un indicateur encore plus grand que la vitesse du processeur. Même une petite baisse du débit du disque équivaut très souvent à une véritable baisse globale des performances du PC. Cela est d'autant plus vrai que les performances du disque dur n'ont pas vraiment suivi le rythme des améliorations apportées au processeur et à la mémoire. le disque à 7 200 tr / min est la norme de bureau depuis plus de dix ans maintenant. Plus que jamais, ce disque qui tourne est le goulot d’étranglement de votre ordinateur.


1
L'augmentation du temps de recherche ne résulte pas d'un espace libre insuffisant, mais de l'organisation des données. Libérer de l'espace disque ne diminuera pas les temps de recherche si vos données se trouvent déjà sur tout le lecteur. De même, le manque d'espace disque n'augmentera pas subitement le temps de recherche de données non liées déjà bien organisées. Plus important encore, méfiez-vous de l’association de ces deux éléments avec "un ordinateur lent". Par exemple, vous n'allez pas naviguer sur le Web plus rapidement simplement parce que l'exécutable de votre navigateur est non fragmenté et à l'extérieur d'un lecteur mécanique, et vos MP3 continueront à être lus en douceur, même dans le pire des cas.
Jason C

2
@JasonC Chacun de ces points est vrai de manière isolée, mais pris en tant que partie intégrante du système entier peut entraîner de réels ralentissements. Un exemple est cette affirmation: " Freeing disk space won't decrease seek times if your data is already all over the drive." Je ne peux pas contester cela en soi, mais je peux souligner que le service de défragmentation peut maintenant déplacer ces données vers le devant du lecteur, et que ces choses vont améliorer les temps de recherche. Les autres points de votre commentaire ont des compteurs similaires: le manque d'espace disque n'augmentera pas la recherche de données bien organisées, mais il est moins probable que les données restent organisées.
Joel Coehoorn le

1
@JasonC Cependant, j'ai ajouté quelques lignes à ma réponse sur la base de votre commentaire pour aborder plus directement la question du titre.
Joel Coehoorn

Bien sûr; mais mes points principaux sont 1) que le ralentissement est une conséquence de quelque chose d’ autre , même si le manque d’espace libre peut être l’un des nombreux facteurs, et 2) vous devez être très prudent avec ce sujet, c’est un de ceux-là très rapidement. Si un utilisateur occasionnel remarque que son ordinateur est lent, il est en réalité très inhabituel que la fragmentation (par exemple) en soit la cause réelle. Mais ensuite, ils lisent un tas de choses sur Internet, installent ccleaner, 50 défragmenteurs de disque, fabriquent un tas de mauvais ajustements de registre, etc. Besoin de satisfaire les masses ici; les sages n'ont pas besoin de nos réponses.
Jason C

Cette réponse suggère des contours plus brefs (limitation artificielle de la taille de la HD pour conserver des données sur les régions externes les plus rapides) et certains problèmes potentiels. Je l’aime aussi car cela ne nie pas que, dans la plupart des cas, un lecteur est plus fragmenté à mesure qu’il se remplit. Bien qu'il soit intéressant de noter que l' espace libre est pas le véritable problème, il est obtus d'ignorer inutilement l'expérience utilisateur générale lorsqu'il s'agit d'une question d'expérience utilisateur générale.
Smithers

6

Toutes les autres réponses sont techniquement correctes - cependant, j'ai toujours trouvé que cet exemple simple l'expliquait le mieux.

Trier des choses est vraiment facile si vous avez beaucoup d'espace ... mais difficile si vous n'avez pas assez d'espace ... les ordinateurs ont aussi besoin d'espace !

Ce " 15 casse-tête " classique est compliqué et prend du temps, car vous n'avez qu'un seul carré libre pour mélanger les tuiles et les placer dans le bon ordre de 1 à 15.

hard 15 puzzle

Cependant, si l'espace était beaucoup plus grand, vous pourriez résoudre ce casse-tête en moins de 10 secondes.

facile 15 puzzle

Pour tous ceux qui ont déjà joué avec ce casse-tête ... comprendre l'analogie semble venir naturellement. ;-)


2
Ce n'est cependant pas analogue à un comportement de système de fichiers. Cela ressemble un peu au processus général de défragmentation, je suppose, bien que défragmenter, par rapport à cette analogie de casse-tête, vous permette de supprimer des chiffres du tableau et de les replacer où bon vous semble lorsque vous le résolvez.
Jason C

2
En plus du commentaire de Jason ci-dessus, je tiens à souligner l'évidence: cette réponse concerne le tri (défragmentation), mais n'explique pas pourquoi l' accès à une mosaïque aléatoire spécifique (disons la "3") serait plus rapide dans la seconde cas que dans le premier cas.
un CVn

Parce que vous n'accédez pas seulement à "3". Vous accédez à "1-15". Bien que j'avoue que ce n'est pas très clair dans l'exemple, je l'ai pris comme compris. Cela vaut peut-être la peine de noter spécifiquement quelque chose comme «Ce casse-tête est analogue à un fichier fragmenté unique». Bonne réponse, rend les choses assez accessibles mentalement!
Smithers

1
Pour clarifier: le principal problème de l'analogie ici est que, dans le puzzle actuel, vous ne pouvez déplacer des tuiles que dans des espaces vides adjacents. C'est-à-dire que, dans le petit exemple, seuls 6 ou 13 pourraient être déplacés dans l'espace vide. C'est ce qui rend le casse-tête difficile. c'est le point du jeu de carreaux. Toutefois, lors de la défragmentation d’un disque dur, vous pouvez déplacer, par exemple, 4 vers l’espace vide, 1 vers son emplacement correct, etc., très facile à résoudre, avec autant de déplacements que nécessaire et avec beaucoup d’espace . Ainsi, l'analogie disparaît vraiment, car le nœud du puzzle ne s'applique pas: aucun système de fichiers ne fonctionne de cette façon.
Jason C

'Parce que vous n'accédez pas seulement à "3". Vous accédez à "1-15" '- c'est un non-sens. La réponse n'explique pas pourquoi l'accès à une tuile aléatoire spécifique serait plus rapide dans le second cas que dans le premier, car la réponse est complètement fausse. Non seulement la défragmentation n'est pas limitée au puzzle, mais la défragmentation "compliquée / fastidieuse" n'a aucune incidence sur les performances du système.
Jim Balter

5

Un ordinateur disposant de très peu d'espace disque, sur un disque dur mécanique en rotation, ralentit généralement pendant une période de temps significative à mesure que la fragmentation des fichiers augmente. Une fragmentation accrue signifie des lectures lentes - très lentes dans les cas extrêmes.

Une fois qu'un ordinateur est dans cet état, libérer de l'espace disque ne résoudra pas le problème. Vous devez également défragmenter le disque. Avant qu'un ordinateur soit dans cet état, libérer de l'espace ne l'accélérera pas; cela réduira simplement les chances que la fragmentation devienne un problème.

Cela ne concerne que les ordinateurs équipés de disques durs mécaniques en rotation, car la fragmentation a un effet négligeable sur la vitesse de lecture des disques SSD.


Une bonne réponse, nette et simple, qui aborde également le problème principal.
Smithers

4

Les disques Flash peuvent définitivement ralentir lorsqu'ils sont pleins ou fragmentés, bien que les mécanismes de ralentissement soient différents de ceux qui se produiraient avec un disque dur physique. Une puce de mémoire flash typique sera divisée en un certain nombre de blocs d'effacement, chacun d'entre eux consistant en un grand nombre (des centaines, voire des milliers) de pages d'écriture, et supportera trois opérations principales:

  1. Lire une page flash.
  2. Ecrivez sur une page flash précédemment vierge.
  3. Effacer toutes les pages flash sur un bloc.

Tandis qu’il serait théoriquement possible d’écrire sur un lecteur flash de lire toutes les pages d’un bloc, d’en changer une dans le tampon, d’effacer le bloc, puis d’écrire le tampon sur le périphérique flash, une telle approche serait extrêmement difficile. lent; cela risquerait également de provoquer une perte de données en cas de coupure de courant entre le début de l'effacement et la fin de l'écriture. De plus, les parties fréquemment écrites du disque s'useraient extrêmement rapidement. Si, par exemple, les 128 premiers secteurs de la FAT étaient stockés dans un bloc flash, le lecteur serait mort après que le nombre total d'écritures dans tous ces secteurs aurait atteint environ 100 000, ce qui n'est pas beaucoup, d'autant plus que 128 secteurs détiendrait environ 16 384 entrées FAT.

Parce que l'approche ci-dessus fonctionnerait horriblement, le lecteur l'aura à identifier une page vierge, à y écrire les données et à enregistrer le fait que le secteur logique en question est stocké à cet emplacement. Tant que suffisamment de pages vierges sont disponibles, cette opération peut être effectuée rapidement. Toutefois, si le nombre de pages vierges est insuffisant, il peut être nécessaire de rechercher des blocs contenant relativement peu de pages "actives", de déplacer les pages actives de ces blocs vers les pages vierges restantes et de marquer les anciennes copies comme " mort"; cela fait, le lecteur pourra alors effacer les blocs ne contenant que des pages "mortes".

Si un lecteur est seulement à moitié plein, il y aura certainement au moins un bloc qui est au plus à moitié plein de pages actives (et il y aura probablement des blocs qui en contiennent peu ou pas du tout). Si chaque bloc contient 256 pages et que les blocs les moins complets contiennent 64 pages en direct (un cas moyennement mauvais), alors pour 192 écritures de secteur demandées, le lecteur devra effectuer 64 copies de secteur supplémentaires et un effacement de bloc (le coût moyen environ 1,34 page et 0,005 bloc effacent). Même dans le pire des cas, chaque écriture de 128 secteurs nécessiterait 128 copies de secteurs supplémentaires et un effacement de bloc (coût moyen par écriture de 2 pages écrites et de 0,01 effacement de blocs).

Si un lecteur est plein à 99% et que les blocs les moins pleins ont 248/256 pages actives, toutes les 8 écritures sectorielles nécessiteront 248 écritures de page supplémentaires et un effacement de bloc, générant ainsi un coût par écriture de 32 écritures et de 0,125 bloc. efface - un ralentissement très sévère.

En fonction de la quantité de stockage "supplémentaire" que possède un lecteur, les choses pourraient ne pas devenir aussi mauvaises. Néanmoins, même au point où un lecteur est rempli à 75%, les performances dans le cas le plus défavorable peuvent être plus de deux fois plus mauvaises que celles du cas le plus défavorable, à 50%.


3

Vous l'avez bien cloué. Vous pouvez considérer un disque dur SATA comme un support de communication semi-duplex (autrement dit, il ne peut accepter ou transmettre que des données à la fois. Pas les deux.) Ainsi, lorsque le lecteur est bloqué pendant une période prolongée à la recherche d’un emplacement libre pour écrire to, il ne peut lire aucune donnée. En règle générale, vous ne devriez pas charger vos disques à plus de 80% de leur capacité pour cette raison. Plus il est complet, plus il est probable que les fichiers sont fragmentés, ce qui provoque le blocage du lecteur lors des demandes de lecture (ce qui bloque les demandes d'écriture).

Vous pouvez faire plusieurs choses pour résoudre ces problèmes:

  • Réduisez la quantité de données que vous avez stockée et défragmentez régulièrement votre lecteur.
  • Basculez sur le stockage basé sur flash.
  • Conservez les données en vrac stockées sur un lecteur distinct de votre système d'exploitation.
  • Etc., etc...

1
Lorsque vous utilisez le flash, le lecteur peut lire ou écrire (à nouveau, pas les deux) presque instantanément (9 ms est un temps de recherche assez standard sur un disque dur où les SSD ont généralement un "temps de recherche" en termes de pico et de nano secondes) emplacement sur le disque. en.wikipedia.org/wiki/…
Nathanial Meek

7
Poursuivre le poing 2: C’est ce que fait le $Bitmapfichier par exemple sur NTFS ou l’ allocateur de bitmap dans ext4. C'est-à-dire que cette réponse répand de la désinformation sérieuse. 3. Il y a beaucoup de mises en mémoire tampon et de mise en cache en lecture et en écriture qui rendent beaucoup de choses discutables. Cette réponse décrit un peu les effets de la fragmentation, et même alors limitée à des systèmes de fichiers plus anciens, ce n’est certainement pas un espace libre précis. Libérer de l'espace disque n'accélère pas la vitesse d'un ordinateur.
Jason C

4
@JasonC, vous devriez transformer vos commentaires en réponse.
Celos

6
Cela ne se produit pas : "ainsi, lorsque le lecteur est bloqué pendant une longue période à la recherche d'un emplacement libre pour écrire, il ne peut lire aucune donnée" - ce n'est tout simplement pas le cas. Ce n'est pas comme ça que fonctionnent les systèmes de fichiers. Veuillez modifier votre réponse pour cesser de propager des informations erronées.
RomanSt

2
@NathanialMeek Vous mélangez un peu les calques. :) Le mode semi-duplex de SATA signifie qu'il ne peut transmettre des données sur le fil que dans un sens. Les lectures et écritures de niveau supérieur sont effectuées dans de petits blocs (appelés FIS), dans des files d'attente d'opérations spécifiées par SATA. Ils peuvent être asynchrones et des lectures et écritures rapides peuvent être effectuées vers et depuis le cache intégré et directement vers la mémoire système via DMA. Les contrôleurs SATA sont également libres de réorganiser les commandes pour optimiser l'efficacité. Le point étant: la ligne n'est pas occupée lorsque les opérations physiques sont terminées et le mode semi-duplex de SATA n'a pas l'effet escompté.
Jason C

3

En suivant l’approche short & sweet, ma réponse trop simpliste (strictement limitée à votre confusion principale) est la suivante:

Tant que votre

  1. Le système d’exploitation dispose de suffisamment d’espace (dans le cas le plus défavorable) pour s’acquitter de ses tâches telles que la pagination / permutation / etc.
  2. D'autres logiciels disposent également d'un espace suffisant pour leurs besoins respectifs.
  3. Le disque dur est défragmenté.

Dans ce cas, vous ne pouvez pas différencier les performances d’un disque vide à 80% par rapport à 30%, et vous ne devez vous soucier de rien d’autre que le stockage de plus en plus de nouvelles données.

Tout ce qui nécessitera plus de stockage conduira à de mauvaises performances car il pourrait y avoir un manque d'espace disponible.

Bien sûr, le nettoyage de disque via un outil est bon comme:

  1. Les fichiers temporaires doivent être nettoyés régulièrement pour obtenir un espace disque précieux.
  2. Les anciens fichiers journaux ne sont rien d'autre qu'un gaspillage d'espace.
  3. Les restes du logiciel installé / désinstallé sont très méchants.
  4. Les cookies doivent être effacés si vous accordez de l'importance à votre vie privée en ligne.
  5. Raccourcis invalides, etc.

Toutes ces raisons (et bien d’autres encore) conduisent à des performances plus médiocres car elles continuent à confondre le système d’exploitation lorsqu’on trouve le bon ensemble de bits avec lequel travailler.


Un bon résumé, mais pas aussi sûr de la section "MAIS". En particulier: 3) n'a généralement pas d'incidence notable sur les performances, malgré les freak-outs courants 4) les cookies ne sont pas intrinsèquement problématiques et, quelle que soit leur opinion, la confidentialité n'est pas liée aux performances ou à l'espace disque, 5) les raccourcis brisés sont laids, mais généralement sans conséquence sinon. Rien de tout cela ne "confond" aucun système d'exploitation commun. Faites très attention aux "astuces" et aux "modifications" que vous suivez. Méfiez-vous également des outils de nettoyage inutiles, en particulier les nettoyeurs de registre risquent souvent d’être endommagés pour un bénéfice nul.
Jason C

2

Un effet sur les disques en rotation que je n'ai pas vu mentionné plus haut: La vitesse d'accès et la vitesse de transfert de données sont différentes sur les différentes parties d'un disque.

Un disque tourne à vitesse fixe. Les pistes situées à l'extérieur d'un disque sont plus longues et peuvent donc contenir plus de données par piste que les pistes situées à l'intérieur. Si votre lecteur peut lire 100 Mo / s à partir des pistes les plus externes, la vitesse sur les pistes les plus à l'intérieur sera inférieure à 50 Mo / s.

Dans le même temps, il y a moins de pistes entre 1 Go de données sur les pistes extérieures du disque et entre 1 Go de données sur les pistes les plus intérieures. Ainsi, en moyenne, moins de mouvements de la tête seront nécessaires pour les données stockées à l'extérieur que pour les données des pistes les plus internes.

Le système d'exploitation essaiera d'utiliser les pistes les plus externes, si possible. Bien sûr, ce n'est pas possible si le disque est plein. La suppression de données créera de la place là où la vitesse de transfert est la plus rapide et rend les choses plus rapides. Pour la même raison, vous devriez acheter des disques durs en rotation qui sont plus volumineux que nécessaire si vous voulez de la vitesse (à condition que ce soit abordable), car vous n'utiliserez que les parties les plus rapides du disque.


Ajout: en.wikipedia.org/wiki/Zone_bit_recording , ce qui est assez détaillé. À noter: les données existantes ne seront pas déplacées. Cela peut affecter le stockage de nouvelles données (en fonction de l'emplacement sur le lecteur, pas directement sur l'espace disponible), mais cela ne "ralentira" pas les fichiers existants auxquels l'accès a été effectué avant l'écriture à l'intérieur. FWIW le moins cher 1TB 7200RPM 3.5" drive J'ai trouvé sur Amazon a un taux de lecture moyenne benchmarkée utilisateur de 144MB / s;. Même en tenant compte des différences sur les pistes intérieures et extérieures, cela peut ne pas être un goulot d' étranglement lors de l' utilisation occasionnelle
Jason C

Les performances d'E / S de @JasonC en termes de débit séquentiel ne sont presque jamais un problème dans la pratique; même un disque lent à 4900 tr / min sera suffisamment rapide pour la plupart des utilisateurs. Les performances d'E / S en termes d'opérations de lecture / écriture par seconde vont être ce qui tue les performances dans la majorité des cas; renseignez-vous auprès de votre administrateur système local sur les IOPS à stockage rotationnel dans les systèmes multi-utilisateurs, si vous le souhaitez. C'est la raison principale pour laquelle pratiquement personne ne déploie de stockage rotatif pour les systèmes multi-utilisateurs de nos jours; vous ne pouvez même jamais vous approcher des IOPS des SSD.
un CVn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.