web-dev-qa-db-fra.com

Devez-vous désactiver le fichier d'échange avec SSD?

J'ai lu cette question , et elle contient beaucoup d'informations intéressantes.

Mais en supposant que vous avez plus qu'assez de RAM, je pense que le fichier d'échange devrait être désactivé sur SSD pour prolonger la durée de vie. Je sais que vous perdriez le vidage de mémoire en cas de crash, mais peu de gens ont besoin de ces informations.

D'après ce que j'ai compris, sans fichier d'échange, lorsque vous atteignez la limite de votre RAM, cela pourrait déclencher un thrash sur le disque. Mais pour les SSD, il n'y a pas de concept de thrashing, les lectures sont rapides.

Qu'en pensez-vous?

26
Pyrolistical

Mais en supposant que vous avez plus qu'assez de RAM, je pense que le fichier d'échange devrait être désactivé sur SSD pour prolonger la durée de vie. Je sais que vous perdriez le vidage de mémoire en cas de crash, mais peu de gens ont besoin de ces informations

Cela ressemble plutôt à une optimisation prématurée. Vous n'avez pas discuté des SSD que vous prévoyez d'utiliser, et sans regarder réellement la charge de travail de votre serveur et la fiche technique de votre SSD prévue, vous ne pouvez avoir aucune idée de l'effet qu'un fichier d'échange aura sur la durée de vie de votre SSD.

Il y a également un grand volume de désinformation, à la fois sur le grand Internet et ici sur Server Fault, sur les SSD souffrant d'une mauvaise durée de vie. Les premiers SSD peuvent avoir eu des problèmes et les lecteurs flash USB commencent certainement à se dégrader, mais les SSD de classe entreprise ont de bien meilleurs algorithmes de nivellement de l'usure et certains utilisent un flash de rechange pour améliorer les performances et l'usure.

lecteurs Intel X25-E , par exemple, revendiquez une durée d'écriture de 1 pétaoctet d'écritures aléatoires pour le lecteur de 32 Go. Si vous saturez sans interruption l'interface d'écriture (200 Mo/sec), avec écrasement, mon estimation est que cela vous durera environ 58 jours. Mais cela écrit quelque chose comme 17 To de données par jour sur ce disque.

La charge de travail typique du serveur sur le lecteur du système d'exploitation sera beaucoup, beaucoup moins, même si vous avez un fichier d'échange. Appelez-le 50 Go par jour. Si le chiffre de 1 PB est exact (et je sais qu'il peut être considéré comme un chiffre moyen, plus de discussion plus tard), c'est toujours quelque part au nord de 50 ans.

Ces chiffres semblent évidemment exagérément élevés, alors regardons les chiffres réels cités par Intel pour la longévité attendue des disques . Intel était heureux de qualifier les disques MLC (non-entreprise) pour écrire 100 Go de données, chaque jour, pendant cinq ans. La compréhension standard du flash SLC vs MLC dit que le flash SLC dure environ 10 fois plus longtemps que le MLC (le lien ci-dessus le montre également sur un graphique).

La vérité sera confirmée par le temps, bien sûr - nous commencerons à voir les disques échouer tôt ou nous ne le ferons pas. Mais les chiffres derrière les disques s'additionnent pour que la longévité du disque ne soit pas un problème avec les SSD de qualité décente du tout .

Si vous utilisez un SSD MLC, vous avez peut-être raison de vous inquiéter. Mais gardez à l'esprit que si Intel est heureux d'évaluer le disque à 100 Go/jour pendant cinq ans, c'est toujours fondamentalement la même chose que 50 Go/jour pendant 10 ans. Et, pour en revenir à mon point de départ, vous devez toujours savoir quel type de charge de travail réelle vous allez faire sur le disque.

Personnellement, je dirais fortement de ne pas utiliser de SSD MLC dans un environnement de serveur de production. Si un SSD SLC décent est trop cher, restez fidèle aux disques en rotation pour l'instant.

(Soit dit en passant, si vous faites les chiffres, disons 100 Go par jour pendant 50 ans, ce qui est la note "SLC dure 10 fois plus longtemps que MLC", il semble qu'Intel dise que leur disque de 32 Go a en fait une durée de vie totale en écriture de près de 2 PB de données, pas le 1 PB cité dans la spécification du produit. Même si je ne fais confiance qu'à la plus petite de ces deux valeurs pour être heureux que mes disques X25-E durent bien au nord de 10 ans.)

22
Daniel Lawson

En plus de la longévité qui n'est probablement pas un problème, comme le mentionne Daniel Lawson, et les commentaires de l'équipe MS elle-même (ci-dessous), envisagez

  1. De toute façon, le fichier d'échange ne sera utilisé qu'en cas de besoin
  2. Si le fichier d'échange est utilisé, l'avoir sur le SSD par rapport à un disque dur en rotation fera une énorme différence

Le fichier d'échange doit-il être placé sur des SSD?

Oui. La plupart des opérations de fichier d'échange sont de petites lectures aléatoires ou de plus grandes écritures séquentielles, qui sont toutes deux des types d'opérations que les SSD gèrent bien.

En examinant les données de télémétrie à partir de milliers de traces et en se concentrant sur les lectures et les écritures du fichier d'échange, nous constatons que

  • Pagefile.sys lit plus de pagefile.sys écrit d'environ 40 à 1
  • Les tailles de lecture de Pagefile.sys sont généralement assez petites, avec 67% de moins ou égal à 4 Ko et 88% de moins de 16 Ko.
  • Les écritures de Pagefile.sys sont relativement importantes, avec 62% supérieur ou égal à 128 Ko et 45% étant exactement de 1 Mo. En fait, étant donné les modèles de référence de fichier d'échange typiques et les caractéristiques de performance favorables que les SSD ont sur ces modèles, il y a peu de fichiers meilleurs que le fichier d'échange à placer sur un SSD.

Support et Q&A pour les disques SSD (MSDN)

15
Mark Sowul

Plutôt que de désactiver complètement le fichier d'échange, il peut être utile de dire au système d'exploitation de ne pas l'utiliser (par exemple, sysctl vm.swappiness=0).

Le système d'exploitation évitera de l'utiliser à moins que nécessaire, en enregistrant les écritures inutiles du SSD.

9
MikeyB

Je laisserais toujours le fichier d'échange activé; certaines parties de votre système d'exploitation ou de vos applications peuvent être écrites dans attendez que l'une d'entre elles soit présente et, en tant que telles, peuvent se comporter mal s'il n'y en a pas.

Cela dit, j'ai exécuté Windows (XP) sans fichier d'échange dans le passé, et il a été parfaitement satisfait de tout ce que j'ai lancé. Il y avait toujours le doute insignifiant que quelque chose arriverait qui ne l'aimerait pas.

Une option pourrait être de le régler très petit.

5
Maximus Minimus

Ce n'est pas directement sensible à l'OP, mais je voulais corriger une impression erronée dans la réponse/commentaires ci-dessus par Ronald et Daniel. (Je suis nouveau, donc je n'ai pas assez de points pour commenter.)

TRIM est en fait la plus grande chose que vous pouvez faire pour prolonger la durée de vie de un SSD. Voici pourquoi: les disques SSD "récupèrent régulièrement" - copiez les données (fragmentées) de blocs d'effacement partiellement vides et écrivez-les de manière contiguë dans un bloc nouvellement effacé.

Les adresses sont remappées afin que l'hôte ne soit pas au courant de cela. Cette activité d'écriture supplémentaire, non directement associée aux écritures de l'hôte, est appelée "amplification d'écriture". Dans le pire des cas, un SSD complètement complet avec une petite quantité d'espace sur-provisionné (de secours caché), l'amplification d'écriture peut facilement être comprise entre 500% et 700% du taux d'écriture de l'hôte!

Lors de la récupération de place, le SSD ne prend pas la peine de copier et de réécrire les pages qui ont été invalidées (écrasées ou TRIMmed), économisant ainsi beaucoup de travail et d'activité d'écriture. Si le système de fichiers efface un fichier volumineux, mais qu'il n'informe pas le lecteur via TRIM, le lecteur continuera à copier les données effacées, gaspillant les écritures, indéfiniment (ou jusqu'à ce que ces adresses de bloc soient affectées à un autre fichier, ce qui pourrait être long).

En résumé, TRIM est vraiment important pour la longévité et les performances.

3
JHD

Utilisez simplement un deuxième disque dur pour la mémoire virtuelle.

2
Jonathan

Je l'ai indiqué sur l'autre post que vous avez lié, mais nous exécutons un serveur très principal sans fichier d'échange et tout semble bien ici. En fait, cela semble plus rapide sans lui. Nous avons 8 Go de RAM et je dirais que vous devriez prendre votre décision en fonction de si vous avez beaucoup de RAM, pas si votre disque dur est un SSD ou non. Bien que je puisse comprendre le manque pour en sauver la vie en ne faisant pas d'écritures inutiles.

2
Matt

J'utilise un ordinateur portable avec 8 Go de RAM, un seul disque SSD et aucun fichier d'échange, depuis plus d'un an maintenant, aucun problème. J'ai rencontré un jeu qui nécessitait le fichier d'échange, je suis allé sur le site Web du logiciel et j'ai obtenu la commande run pour le désactiver, problème résolu.

Mon ordinateur portable a quatre ans. Ancien, mais il s'exécute plus rapidement que certains ordinateurs de bureau plus récents. Les fuites de mémoire, alias fichier SWAP, ont été le problème avec le système d'exploitation Windows depuis la création de la technique. Malheureusement, les développeurs Linux ont suivi ses traces. Moins vous exécutez de logiciels en arrière-plan, mieux c'est (surtout s'il s'agit de Microsoft).

0
Cyberat Rodent