web-dev-qa-db-fra.com

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

J'ai visionné plusieurs vidéos et je comprends maintenant un peu mieux le fonctionnement des ordinateurs. Je comprends mieux ce que RAM est, mémoire volatile et non volatile, et le processus de permutation. Je comprends aussi pourquoi augmenter RAM accélère l’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?

190
Remi.b

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 choses qui traditionnellement pourraitralentir ton 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 et qui n’est pas vraiment perceptible par les utilisateurs occasionnels. Généralement, un espace disque libre insuffisant est juste un hareng rouge .

Par exemple, des choses comme:

  • Fragmentation de fichier. Fragmentation de fichier estun problème††, mais le manque d’espace libre, bien qu’il soit définitivement l’un des nombreuxfacteurs contributifs, n’est pas le seulest la cause de celui-ci. Quelques points clés ici:

    • Les chances qu'un fichier soit fragmenté sont nonliées à la quantité d'espace libre restant sur le lecteur. Elles sont liées à la taille du plus grand bloc d'espace libre contigu sur le lecteur (par exemple, des "trous" d'espace libre). ), que la quantité d’espace libre arrive de placer une limite supérieure sur. Ils sont également liés à la façon dont le système de fichiers gère l’allocation des fichiers (voir plus bas). Considérez: Un lecteur 95 % plein avec tout l'espace libre dans un seul bloc contigu a 0% de chance de fragmenter un nouveau fichier ††† (et la possibilité de fragmenter un fichier ajouté est indépendante 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. Tenez compte des facteurs suivants: vous disposez d'un lecteur Nice, défragmenté, qui comporte encore de nombreux «trous» libres. Tout se passe bien, mais 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 ne se fragmenteront pas soudainement, ce qui rendrait le filmplus long à charger (bien que les débits binaires typiques des films soient si bas comparés aux taux de lecture du disque dur). cela sera probablement imperceptible), et cela peut affecter les performances liées aux E/S pendant le chargement de movie, mais rien à part 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, des stratégies telles que préfetcher dans Windows, etc., contribuent à réduire les effets de la fragmentation. En général, vous en réalitén’éprouvez pas d’impact significatif jusqu’à ce que la fragmentation devienne grave (je me risquerais même à dire que tant que votre fichier d’échange n’est pas fragmenté, vous ne le 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 d'UC, 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 vous avez beaucoup de logiciels installés qui 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, semblentassocier étroitement le manque d’espace libre à des performances plus faibles.

Ce qui précède illustre une autre raison pour laquelle ce mythe est 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. parfois (mais pas toujours; en dehors du cadre de la présente réponse) augmenteperformance à nouveau pour des raisons indépendantes de la quantité d’espace libre qui reste. Mais cela libère aussi naturellement l’espace disque. Par conséquent, une connexion apparente (mais fausse) entre "plus d’espace libre" et "plus rapide ordinateur "peut être faite.

Considérez: Si une 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 va pas accélérer comme par magie. 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 est toujours en cours d'exécution, 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 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évoir ce que le système d'exploitation va demander en fonction de l'expérience que nous avons acquise au fil du temps (certains disques sont même conscients du système de fichiers qu'ils utilisent), mais pensez essentiellement à 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". Beaucoup d'efforts ont été consacrés à la résolution de 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’espace disponible sur un lecteur, de sorte qu’une recherche d’espace libre est généralement inutile (par exemple, des systèmes de fichiers en bon état). Exemples:

    • NTFS a un table de fichiers maîtres , qui inclut 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 contient ce qu'on appelle le "bitmap allocator" , une amélioration par rapport à ext2 et ext3 qui l'aide à déterminer directement l'emplacement des 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 RAM par le système d'exploitation avant de l'écrire sur le lecteur afin de prendre de meilleures décisions quant à l'emplacement où il convient pour réduire la fragmentation.

    • Beaucoup d'autres exemples.

ou en déplaçant des objets pour constituer un espace suffisamment long et continu pour économiser 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.

Le processus consistant à "déplacer des éléments pour créer un espace suffisamment long pour enregistrer quelque chose" s'appelle défragmenter. Cela ne se produit pas lors de l'écriture des fichiers. Cela se produit lorsque vous exécutez votre défragmenteur de disque. Sous Windows récent, du moins, cela se produit automatiquement selon un calendrier, mais cela n’est jamais déclenché par l’écriture d’un fichier.

Être capable de éviterdéplacer des éléments de cette manière est la clé de la performance du système de fichiers. C'est pourquoi la fragmentation se produit et la défragmentation existe séparément.

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 que vous utilisiez votre ordinateur de manière efficace. Si vous manquez d’espace pour travailler, vous aurez besoin d’un plus grand lecteur.
    • 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 ont besoin d’un espace libre qui, sans trop entrer dans les détails, est utilisé pour répartir les données sur le disque afin d’éviter d’écrire constamment au même endroit (qui les usent). Ce concept de laisser de l'espace libre s'appelle surapprovisionnement . C’est important, mais dans de nombreux SSD, il existe déjà un espace obligatoire excédentaire obligatoire. C’est-à-dire que les lecteurs disposent souvent de quelques dizaines de Go de plus qu’ils ne se rapportent au système d’exploitation. Les lecteurs de niveau inférieur exigent souvent de quitter manuellement non partitionnéespace, mais pour les lecteurs avec OP obligatoire, vous n'avez pas besoin de laisser d'espace libre. Une chose importante à noter ici est que l'espace sur-provisionné est souvent pris uniquement à partir d'espace non partitionné . Ainsi, si votre partition occupe l’ensemble du disque et que vous lui laissez de l’espace libre, cela ne compte pas toujours. Compte tenu du sur-provisionnement manuel, vous devez réduire la taille de votre partition. Consultez le manuel d'utilisation de votre disque SSD pour plus de détails. TRIM et le ramassage des ordures ont des effets également, mais ils n'entrent pas dans le 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'atteignez jamais le 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 faire son travail, 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éseauen même temps. Cependant, SATA a une spécification assez complexe impliquant de très petites tailles de bloc maximum (environ 8 Ko par an). bloquer sur le fil, je pense), lire et écrire des files d’opérations, etc., et n’empêche pas les écritures dans les mémoires tampons se produisant pendant que des lectures sont en cours, des opérations entrelacées, 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 dans la mesure où 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, l’absence de fragmentation ne garantit pas un accès séquentiel, en raison du nivellement par usure, Comme le note James Snell dans les commentaires), les différences de performances dues à la fragmentation des disques SSD sont généralement négligeables pour le chargement d’applications, le démarrage de l’ordinateur, etc.

††† En supposant qu'un système de fichiers sain ne fragmente pas les fichiers à dessein.

312
Jason C

En plus de 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 typique du SSD est de 0,1 ms, alors que le temps d’accès du disque dur est de 10 à 15 ms. 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. On recommande généralement 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.

Voiciun excellent articlequi explique le fonctionnement de Trim and Garbage Collection

22
whs

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: Temps de recherche et Vitesse de rotation.

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 un lot de plusieurs emplacements de disque 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 à peu près à 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 des difficultés à conserver les données associées dans le même secteur, ce qui augmentera encore la recherche de disques. Ceci s'appelle fragmented data.

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 à 5400 tr/min ou 7200 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 le disque. interne.

Un lecteur presque vide passe le plus clair de son temps à accéder aux bits situés près du bord externe du disque, plus rapide. 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.

Il arrive parfois qu'un disque se déplace trop vite pour la tête de lecture et cet effet est réduit car les secteurs proches de l'Edge externe 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 les plus lentes du disque tant que cela n’a pas été nécessaire. 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 une 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 uniquement. 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 disques durs, la mise en cache Superfetch et d’autres systèmes contribuent tous à réduire le problème. Sur un système sain avec beaucoup d'espace libre, vous ne remarquerez probablement rien. De plus, les disques SSD ont des caractéristiques de performances complètement différentes. Cependant, les effets existent et un ordinateur ralentit légitimement à mesure que le lecteur se remplit. Sur un système unhealthy, où l’espace disque est très limité, ces effets peuvent créer une situation de blocage du disque, où le disque cherche constamment à travers des données fragmentées et libère de l’espace disque, ce qui entraîne davantage améliorations spectaculaires et notables.

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 plus travailler en arrière-plan, même à une vitesse proche de la même vitesse qu'avant.

Enfin, les performances du disque sont un énorme indicateur 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.

12
Joel Coehoorn

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

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

Ce classique " 15 puzzle " est délicat/prend du temps, car vous n’avez qu’un carré libre pour mélanger les carreaux 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.

easy 15 puzzle

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

6
scunliffe

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.

5
RomanSt

Les disques Flash peuvent définitivement ralentir lorsqu'ils sont pleins ou fragmentés, bien que les mécanismes de ralentissement ne ressemblent à aucun 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 (plusieurs centaines, voire plusieurs 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 lorsque le nombre total d'écritures dans tous ces secteurs aurait atteint environ 100 000, ce qui n'est pas beaucoup, en particulier étant donné que 128 secteurs détiendrait environ 16 384 entrées FAT.

Parce que l’approche ci-dessus fonctionnerait terriblement, le lecteur le forcerait à identifier une page vierge, à y écrire les données et à enregistrer le fait que le secteur logique en question était 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 " morte"; cela fait, le lecteur pourra alors effacer les blocs ne contenant que des pages "mortes".

Si un lecteur n'est qu'à moitié plein, il y aura certainement au moins un bloc qui est au plus à moitié plein de pages actives (et il y aura très 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 actives (ce qui est un cas moyennement mauvais), le lecteur devra effectuer 64 copies de secteur supplémentaires et un effacement de bloc (le coût moyen chaque secteur aurait environ 1,34 page d’écriture et 0,005 bloc effacé). Même dans le pire des cas, chaque écriture de 128 secteurs nécessiterait 128 copies de secteur 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 complets 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 risquent d'être deux fois plus mauvaises que celles du cas le plus défavorable, à 50%.

4
supercat

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 d’un espace suffisant (dans les cas les plus défavorables) 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 à un disque vierge à 30%, et vous ne devez vous soucier de rien d’autre que le stockage de nouvelles données.

Tout ce qui nécessitera plus de stockage conduira à de mauvaises performances car il pourrait y avoir une pénurie 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.

3
Htaank

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 plein, plus il est probable que les fichiers sont fragmentés, ce qui entraîne le blocage du lecteur pendant les 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...
3
Nathanial Meek

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.

2
gnasher729