122 votes

Combien d'espace faut-il laisser libre sur le disque dur ou le disque SSD ?

Dans la presse technologique informelle (c'est-à-dire journalistique), ainsi que dans les blogs et les forums de discussion technologiques en ligne, on trouve souvent des conseils anecdotiques invitant à laisser de l'espace libre sur les disques durs ou les lecteurs à état solide. Diverses raisons sont invoquées, ou parfois aucune raison. En tant que telles, ces affirmations, bien que raisonnables dans la pratique, ont un air de mythe. Par exemple :

  • Une fois que votre ou vos disques sont remplis à 80%, vous devriez considérer que complet et vous devriez immédiatement soit effacer des choses, soit faire une mise à jour. S'ils frappent 90% Vous devez considérer que votre pantalon personnel est en feu et réagir avec la rapidité nécessaire pour y remédier. ( Source : .)

  • Pour que le ramassage des ordures soit le plus efficace possible, le conseil traditionnel est de garder 20 à 30 % de votre disque vide ( Source : .)

  • On m'a dit que je devais laisser environ 20 % de disque dur libre pour de meilleures performances, que le disque dur ralentit vraiment lorsqu'il est presque plein. ( Source : .)

  • Vous devez laisser de la place pour les fichiers d'échange et les fichiers temporaires. Je laisse actuellement 33 % d'espace libre et je m'engage à ne pas descendre en dessous de 10 Go d'espace libre sur le disque dur. ( Source : .)

  • Je dirais généralement 15%, mais avec la taille des disques durs d'aujourd'hui, tant que vous en avez assez pour vos fichiers temporaires et votre fichier d'échange, vous êtes techniquement en sécurité. ( Source : .)

  • Je recommanderais 10% et plus sous Windows car defrag ne fonctionnera pas s'il n'y a pas autant de place libre sur le disque lorsque vous le lancez. ( Source : .)

  • Vous voulez généralement laisser environ 10% de libre pour éviter la fragmentation ( Source : .)

  • Si votre disque est constamment rempli à plus de 75 ou 80 %, vous pouvez envisager de passer à un SSD plus grand. ( Source : .)

Des recherches ont-elles été menées, de préférence publiées dans une revue à comité de lecture, sur le pourcentage ou la quantité absolue d'espace libre requis par des combinaisons spécifiques de systèmes d'exploitation, de systèmes de fichiers et de technologies de stockage (par exemple, plateau magnétique contre état solide) ? (Idéalement, une telle recherche expliquerait également la raison pour laquelle il ne faut pas dépasser la quantité spécifique d'espace utilisé, par exemple pour éviter que le système soit à court d'espace de stockage). espace de permutation ou pour éviter une perte de performance).

Si vous avez connaissance d'une étude de ce type, je vous serais reconnaissant de me fournir un lien vers celle-ci ainsi qu'un bref résumé de ses résultats. Merci !

49voto

Eugen Rieck Points 19064

Bien que je ne puisse pas parler de "recherche" publiée par des "revues à comité de lecture" - et je ne voudrais pas avoir à m'y fier pour mon travail quotidien - je peux cependant parler des réalités de centaines de serveurs de production sous une variété de systèmes d'exploitation pendant de nombreuses années :

Il y a trois raisons pour lesquelles un disque plein réduit les performances :

  • Le manque d'espace libre : Pensez aux fichiers temporaires, aux mises à jour, etc.
  • Dégradation du système de fichiers : La plupart des systèmes de fichiers ne sont pas en mesure d'organiser les fichiers de manière optimale s'il n'y a pas assez de place.
  • Dégradation au niveau du matériel : Les disques SSD et SMR ne disposant pas de suffisamment d'espace libre verront leur débit diminuer et, pire encore, leur latence augmenter (parfois de plusieurs ordres de grandeur).

Le premier point est trivial, d'autant plus qu'aucun système de production sain n'utiliserait jamais l'espace d'échange pour l'expansion et la réduction dynamiques des fichiers.

Le deuxième point diffère fortement entre les systèmes de fichiers et la charge de travail. Pour un système Windows avec une charge de travail mixte, un seuil de 70% s'avère tout à fait utilisable. Pour un système de fichiers Linux ext4 avec peu de fichiers mais de grande taille (par exemple, des systèmes de diffusion vidéo), cela peut aller jusqu'à 90+%.

Le troisième point dépend du matériel et du microprogramme, mais les SSD équipés d'un contrôleur Sandforce, en particulier, peuvent se replier en effacement de blocs libres sur des charges de travail d'écriture élevées, ce qui entraîne une augmentation des latences d'écriture de plusieurs milliers de pour cent. Nous laissons généralement 25% de blocs libres au niveau de la partition, puis nous observons un taux de remplissage inférieur à 80%.

Recommandations

Je réalise que j'ai mentionné comment s'assurer qu'un taux de remplissage maximal est appliqué. Quelques réflexions au hasard, aucune d'entre elles n'a fait l'objet d'une évaluation par des pairs (payée, truquée ou réelle), mais toutes proviennent de systèmes de production.

  • Utiliser les limites du système de fichiers : /var n'a pas sa place dans le système de fichiers racine.
  • Surveillance, surveillance, surveillance. Utilisez une solution toute prête si elle vous convient, sinon analysez la sortie de df -h et laisser sonner l'alarme au cas où. Cela peut vous éviter d'avoir 30 noyaux sur un fs racine avec des mises à jour automatiques installées et fonctionnant sans l'option autoremove.
  • Mettez en balance la perturbation potentielle d'un débordement de fs et le coût de son agrandissement : Si vous n'êtes pas sur un dispositif embarqué, vous pourriez simplement doubler ces 4G pour l'enracinement.

29voto

Y a-t-il eu des recherches... sur le pourcentage ou la quantité absolue d'espace libre requis par des combinaisons spécifiques de systèmes d'exploitation, de systèmes de fichiers et de technologies de stockage... ?

En 20 ans d'administration système, je n'ai jamais rencontré de recherches détaillant les besoins en espace libre de diverses configurations. Je soupçonne que c'est parce que les ordinateurs sont configurés de façon si diverse qu'il serait difficile de le faire en raison du nombre de configurations possibles.

Pour déterminer l'espace libre nécessaire à un système, il faut tenir compte de deux variables :

  1. L'espace minimum requis pour empêcher un comportement indésirable, qui peut elle-même avoir une définition fluctuante.

    Notez qu'il n'est pas utile de définir l'espace libre requis par cette seule définition, car cela équivaut à dire que l'on peut rouler à 80 km/h en direction d'un mur de briques jusqu'au moment où l'on entre en collision avec lui.

  2. Le rythme auquel le stockage est consommé, ce qui impose de réserver une quantité variable d'espace supplémentaire, de peur que le système ne se dégrade avant que l'administrateur n'ait le temps de réagir.

La combinaison spécifique du système d'exploitation, des systèmes de fichiers, de l'architecture de stockage sous-jacente, du comportement des applications, de la configuration de la mémoire virtuelle, etc.

C'est pourquoi il existe tant de "pépites" de conseils. Vous remarquerez que beaucoup d'entre eux font une recommandation autour d'une configuration spécifique. Par exemple, "Si vous avez un SSD qui est sujet à des problèmes de performance lorsqu'il approche de sa capacité, restez au-dessus de 20% d'espace libre".

Parce qu'il n'y a pas de réponse simple à cette question, l'approche correcte pour identifier les besoins de l'entreprise est la suivante votre Pour déterminer l'espace libre minimum requis pour un système, il faut prendre en compte les différentes recommandations génériques à la lumière de la configuration spécifique de votre système, puis fixer un seuil, le surveiller et être prêt à l'ajuster si nécessaire.

Ou vous pouvez simplement garder au moins 20% d'espace libre. À moins, bien sûr, que vous n'ayez un volume RAID 6 de 42 To soutenu par une combinaison de SSD et de disques durs traditionnels et un fichier d'échange pré-alloué... (c'est une blague pour les gens sérieux).

16voto

JdeBP Points 25711

Y a-t-il eu des recherches, de préférence publiées dans une revue à comité de lecture [ ] ?

Il faut remonter bien plus loin que 20 ans, d'administration système ou autre, pour cela. C'était un sujet brûlant, du moins dans le monde des systèmes d'exploitation pour ordinateurs personnels et stations de travail, il y a plus de 30 ans, à l'époque où les gens de BSD développaient le Berkeley Fast FileSystem et où Microsoft et IBM développaient le High Performance FileSystem.

La littérature sur les deux par ses créateurs discute des façons dont ces systèmes de fichiers ont été organisés de sorte que la politique de répartition des blocs a donné de meilleures performances en essayant de rendre contigus des blocs de fichiers consécutifs. Vous pouvez trouver des discussions sur ce sujet, et sur le fait que la quantité et l'emplacement de l'espace libre laissé pour allouer les blocs affectent le placement des blocs et donc les performances, dans les articles contemporains sur le sujet.

Il devrait être assez évident, par exemple, d'après la description de l'algorithme d'allocation de blocs du FFS de Berkeley que, s'il n'y a pas d'espace libre dans le groupe de cylindres actuel et secondaire et que l'algorithme atteint ainsi le quatrième niveau de repli ("appliquer une recherche exhaustive à tous les groupes de cylindres"), les performances d'allocation des blocs de disque en pâtiront, tout comme la fragmentation du fichier (et donc les performances de lecture).

C'est sur ces analyses et d'autres similaires (qui sont loin d'être les seules conceptions de systèmes de fichiers qui visaient à améliorer les politiques de mise en page des conceptions de systèmes de fichiers de l'époque) que se sont appuyées les idées reçues des 30 dernières années.

Par exemple : Le dicton de l'article original selon lequel les volumes FFS doivent être remplis à moins de 90 %, de peur que les performances n'en pâtissent, qui était basé sur des expériences réalisées par les créateurs, est répété sans critique même dans les livres sur les systèmes de fichiers Unix publiés au cours de ce siècle. (par exemple, Pate2003 p. 216) . Peu de gens remettent cela en question, bien qu'Amir H. Majidimehr l'ait fait le siècle dernier, en affirmant que xe n'a pas observé d'effet notable dans la pratique, notamment en raison du mécanisme habituel d'Unix qui réserve les derniers 10 % à l'usage des superutilisateurs. de toute façon (Majidimehr1996 p. 68) . Bill Calkins aussi, qui suggère qu'en pratique, on peut remplir jusqu'à 99%, avec des disques du 21ème siècle, avant d'observer les effets sur les performances d'un faible espace libre, car même 1% de disques de taille moderne est suffisant pour avoir beaucoup d'espace libre non fragmenté avec lequel jouer. (Calkins2002 p. 450) .

Ce dernier point est un exemple de la façon dont les idées reçues peuvent devenir erronées. Il existe d'autres exemples de ce type. Tout comme les mondes SCSI et ATA du adressage par blocs logiques y enregistrement de bits zonés a plutôt jeté par la fenêtre tous les calculs minutieux de latence rotationnelle dans la conception du système de fichiers BSD, de sorte que la mécanique physique des SSD jette par la fenêtre l'idée reçue de l'espace libre qui s'applique aux disques Winchester.

Avec les SSD, la quantité d'espace libre sur l'appareil dans son ensemble c'est-à-dire sur tous les volumes du disque. et entre les deux a un effet à la fois sur les performances et sur la durée de vie. Et la base même de l'idée qu'un fichier doit être stocké dans des blocs avec des adresses de blocs logiques contigus est sapée par le fait que les SSD n'ont pas de plateaux à faire tourner et de têtes à rechercher. Les règles changent à nouveau.

Avec les SSD, la quantité minimale d'espace libre recommandée est en réalité plus que les 10 % traditionnels qui proviennent des expériences menées avec les disques Winchester et le FFS de Berkeley il y a 33 ans. Anand Lal Shimpi donne 25%, par exemple. Cette différence est aggravée par le fait qu'il doit s'agir d'espace libre sur l'ensemble du dispositif alors que le chiffre de 10% est de dans chaque volume FFS unique Il est donc affecté par le fait que le programme de partitionnement sait ou non qu'il faut TRIMER tout l'espace qui n'est pas alloué à un volume de disque valide par la table de partition.

Elle est également aggravée par des complexités telles que les pilotes de systèmes de fichiers conscients de TRIM qui peuvent TRIM l'espace libre. sur les volumes de disques, et le fait que les fabricants de SSD eux-mêmes déjà allouer des degrés variables de espace réservé qui n'est même pas visible en dehors du dispositif (c'est-à-dire pour l'hôte) pour diverses utilisations telles que la collecte des déchets et le nivellement de l'usure.

Bibliographie

12voto

Dmitry Grigoryev Points 8663

Bien sûr, un disque (qu'il s'agisse d'un disque dur ou d'un disque dur SSD) ne se soucie pas du pourcentage d'espace utilisé, à l'exception des disques durs SSD qui sont capables d'effacer leur espace libre à l'avance. Les performances en lecture seront exactement les mêmes, et les performances en écriture seront peut-être un peu moins bonnes sur un SSD. De toute façon, les performances en écriture ne sont pas si importantes sur un disque presque plein, puisqu'il n'y a pas d'espace pour écrire quoi que ce soit.

D'autre part, votre système d'exploitation, votre système de fichiers et vos applications s'attendent à ce que vous disposiez d'un espace libre à tout moment. Il y a 20 ans, il était courant qu'une application vérifie l'espace dont vous disposiez sur le disque avant d'essayer d'y enregistrer vos fichiers. Aujourd'hui, les applications créent fichiers temporaires sans demander votre permission, et se plantent généralement ou se comportent de manière erratique lorsqu'ils ne le font pas.

Les systèmes de fichiers ont une attente similaire. Par exemple, NTFS réserve une grande partie de votre disque pour MFT, mais vous montre toujours cet espace comme étant libre. Lorsque vous remplissez votre disque NTFS au-delà de 80% de sa capacité, vous obtenez Fragmentation MFT ce qui a un impact très réel sur les performances.

En outre, le fait de disposer d'espace libre permet effectivement de lutter contre la fragmentation des fichiers ordinaires. Les systèmes de fichiers ont tendance à éviter fragmentation des fichiers en trouvant le bon emplacement pour chaque fichier en fonction de sa taille. Sur un disque presque plein, ils auront moins d'options et devront donc faire de moins bons choix.

Sous Windows, vous êtes également censé disposer d'un espace disque suffisant pour l'application fichier d'échange qui peut s'agrandir si nécessaire. Si ce n'est pas le cas, vous devez vous attendre à ce que vos applications soient fermées de force. Avoir très peu d'espace de pagination peut en effet aggraver la performance.

Même si votre swap a une taille fixe, être complètement à court d'espace disque peut faire planter votre système et / ou le rendre impossible à démarrer (Windows et Linux), parce que le système d'exploitation s'attend à pouvoir écrire sur le disque pendant le démarrage. Donc oui, atteindre 90% d'utilisation du disque devrait vous faire considérer que vos peintures sont en feu. Pas une seule fois je n'ai vu des ordinateurs qui ne démarraient pas correctement jusqu'à ce que les téléchargements récents soient supprimés pour donner au système d'exploitation un peu d'espace disque.

8voto

Jaroslav Kucera Points 1472

Pour les SSD, il doit rester de l'espace car le taux de réécriture augmente alors et affecte négativement les performances d'écriture du disque. Le taux d'occupation de 80 % est probablement une valeur sûre pour tous les disques SSD. Certains modèles récents peuvent fonctionner sans problème même avec une capacité occupée de 90 à 95 %.

https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X