J'ai rencontré cet article qui inclut la suggestion suivante:
Swap et swappiness
J'ai gardé ma partition de swap sur l'ancien disque dur. Échanger sur le SSD serait plus rapide, mais raccourcirait également la durée de vie du SSD.
Mon système dispose de beaucoup de mémoire, j'ai donc également réduit la valeur swappiness à 0 pour que Ubuntu ne permute que lorsque cela est absolument nécessaire. Je l’ai fait en ajoutant la ligne vm.swappiness = 0 à /etc/sysctl.conf.
Est-il vrai que la mise à zéro de swappiness augmentera la durée de vie de mon disque SSD? Je ne trouve pas de références à cela ailleurs.
Réduire le swappiness à 0 signifie que le système d'exploitation ne commencera à utiliser le SSD pour le swap que lorsqu'il n'y aura plus de mémoire vive disponible.
Théoriquement, cela peut augmenter la durée de vie du disque SSD, car celui-ci subira moins d'écritures. Cela dépend si cela augmente pratiquement la durée de vie du SSD:
Linux utilise rarement le swap (surtout comparé aux fenêtres) même avec des valeurs swappiness plus élevées, ce paramètre ne modifiera probablement pas le comportement de permutation sur les systèmes avec beaucoup de RAM par rapport à RAM usage. Si vous manquez de RAM, la permutation peut survenir assez souvent avec la valeur par défaut de 60; dans ce cas, la réduction de la swappiness aura probablement un impact significatif sur la limite du cycle d'écriture du SSD.
L'endurance du SSD en écriture est encore assez élevée pour un usage simple, au moins pour les SSD basés sur _ mlc _ . Ils disent que les SSD actuels basés sur MLC peuvent tolérer ca. 3000-5000 cycles d'écriture avant qu'ils ne s'usent. Calculer avec la limite de 3000, cela signifie qu’un disque SSD de 128 Go avec une écriture quotidienne de 10 Go fonctionnera sans problème pendant env. 38000 jours, ça veut dire ca. 100 ans. Si vous avez bien sûr un plus gros disque SSD, celui-ci s'usera beaucoup plus tard. Il est donc très peu probable que votre disque SSD meure à cause de l'usure des cellules. (Bien sûr, si vous utilisez votre disque SSD dans un environnement d'entreprise/serveur, les écritures quotidiennes sont beaucoup plus élevées, mais dans les environnements d'entreprise, on utilise généralement SLC.)
Donc, pour résumer: en théorie oui, réduire la rapidité entraînera une durée de vie plus longue des disques SSD, ce qui ne sera probablement pas le cas en pratique. Mais si vous avez un disque SSD basé sur TLC et que vous manquez de RAM et que vous écrivez souvent sur le disque SSD, cela peut également avoir un effet pratique.
J'ai un disque SSD 128 Go à base de MLC et j'utilise principalement mon système pour le bureau/la navigation et j'ai beaucoup de RAM par rapport à mon utilisation de RAM, mon disque SSD n'est donc pas soumis à une écriture importante. charger (bien que ma machine soit allumée 24h/24 et 7j/7). Mais parce que je n’ai pas du tout besoin de permuter et qu’il est si facile de réduire le swappiness que j’ai fait pour moi-même, fixez swappiness à 0 lors de l’installation de mes disques SSD, car pourquoi ne pas le faire? ( En fait, je règle swappiness sur 0 sur toutes mes machines, même sur celles qui ne disposent que de disques durs.)
Vous pouvez vérifier combien d'écriture votre disque SSD a subi pendant sa vie avec smartctl
, cherchez la ligne avec Total_LBAs_Written
, cela vous montrera combien de secteurs 512b ont été écrits sur le SSD. (Oui, je sais que les disques SSD ont physiquement des blocs de 4K, pas 512b, mais SMART dit toujours: Sector Size: 512 bytes logical/physical
et avec 512 blocs, j'obtiens des résultats qui sont comparables à ceux de la tune2fs -l
Lifetime écrit.) 512 et vous obtenez les écritures en octets, ou pour faire court:
Sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'
imprimera en GiBs pour/dev/sda. (Il suffit de remplacer le nom de votre appareil par le nom de votre SSD.) Mon SSD de 128 Go a souffert env. 800 Go d'écriture en un peu plus d'un an, ce qui signifie que 7 cycles d'écriture seulement sont utilisés sur 3000.
Toute cette discussion sur l'usure des disques SSD est une "conjecture". J'avais les mêmes sentiments, mais j'ai commencé à les utiliser à des fins commerciales. J'ai l'un des clusters Oracle les plus rapides sur la côte est. Il y a 3 ans, nous avons mis en place des disques SSD pour l'ensemble de nos systèmes de fichiers de stockage ET temporaires. Nous effectuons des milliards d'opérations d'écriture/jour sur les disques SSD. Après 3 ans, nous ne sommes toujours pas arrivés à près de 10% d'épuisement professionnel. Si je peux le faire dans le commerce, ils vont JAMAIS s'user dans une situation résidentielle. Donc-- j'ai mis en place une solution SSD spécifiquement pour l'espace de swap sur mon poste de travail Linux et BAM !!!
Donc, votre kilométrage varie, mais le SSD est la voie à suivre dans tous les sens.
Dave
Oui . Vous avez besoin de changer rapidement pour augmenter la durée de vie des disques SSD.
Swappiness vous permet de contrôler la quantité de fichier d'échange utilisée. Les valeurs de swappiness peuvent être changées de 0 à 100. Plus les valeurs de swappiness sont élevées, plus le noyau essayera d'utiliser l'espace de swap, plus les valeurs de swappiness seront basses, plus le noyau utilisera peu ou pas d'espace de swap, selon notre configuration.
La valeur de swappiness par défaut de 60, si vous avez assez de RAM, vous devriez éviter d'utiliser l'espace de swap qui écrit et lit sur votre disque SSD, mais sur un disque dur. Pour les systèmes dotés de 4 Go de RAM ou plus, essayez de réduire l’utilisation du swap en modifiant les paramètres de swappiness entre 10 et 0, le fichier d’échange se trouvant sur un disque dur.
Exécuter un espace de swap nécessite beaucoup d’E/S sur disque, ce qui est mauvais pour un SSD. Un SSD ne peut gérer qu’un nombre aussi important d’écritures avant qu’il ne se détériore et que vous soyez obligé d’acheter un autre disque. Donc, dans la mesure du possible, déplacez votre espace d'échange sur un disque secondaire en rotation… loin du SSD.
Un disque SSD est usé assez rapidement par les actions d'écriture. En particulier, les générations les plus anciennes de SSD étaient vulnérables à cet égard, mais dans une moindre mesure, c'est encore le cas pour les nouvelles générations.
Vous pouvez créer une nouvelle partition sur un nouveau disque ou simplement créer un fichier d'échange. faire une nouvelle partition entraînera presque toujours de meilleures performances.
Si vous n'avez pas d'autre disque à déplacer, vous pouvez modifier un paramètre qui ne permettra le swap que lorsque votre RAM physique est saturé à 100%, ce qui diminuera la charge de votre fichier d'échange et aidera votre fichier. SSD. Appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:
echo 0 > /proc/sys/vm/swappiness
L'usure des disques SSD est liée aux cycles d'écriture
Un disque SSD est usé assez rapidement par les actions d'écriture. En particulier, les générations les plus anciennes de SSD étaient vulnérables à cet égard, mais dans une moindre mesure, c'est encore le cas pour les nouvelles générations.
Utiliser le trim
TRIM est un avantage que vous utilisez avec les SSD. Il fonctionne avec un logiciel et communique avec le contrôleur SSD, en lui indiquant les "blocs" dont le système de fichiers n’a plus besoin et qui peuvent être nettoyés et remplacés en toute sécurité. Cela ne se traduira pas vraiment par une amélioration des performances, mais prolongera plutôt la durée de vie de votre SSD.
Sources: Linux SSD Tweaks & Comment optimiser votre SSD
Est-il vrai que la mise à zéro de swappiness augmentera la durée de vie de mon disque SSD?
Cela ferait en sorte que Linux déplace moins fréquemment les blocs de mémoire vers la partition de swap. L'écriture sur le swap utilise normalement des cycles d'écriture si votre swap est dans le SSD. Rappelez-vous que l’échange n’est utilisé que lorsque cela est nécessaire et si vous en avez assez RAM, vous aurez peut-être intérêt à vous en passer (à moins que vous ne souhaitiez passer en veille prolongée, mais c’est un autre problème).
Les effets de ces actions peuvent varier, mais le faire uniquement pour enregistrer certains cycles d'écriture sur le disque SSD est une erreur. Les SSD modernes (à partir de 2012) comportent de nombreux cycles d’écriture, et les performances de vos applications risquent d’être réduites lorsque vous utilisez presque toute votre mémoire vive. Vous utilisez plus de cycles d’écriture lors de l’installation de programmes que de due swap. Rappelez-vous, encore une fois, que l’échange n’est utilisé que s’il est requis par défaut.
Si vous êtes inquiet au sujet de vos cycles d’écriture SSD utilisés pour l’échange, vous pouvez supprimer/désactiver l’échange complètement si vous avez assez de mémoire RAM et n’activer qu’un échange temporaire sur un disque dur au lieu de jouer avec le swapiness. Ce serait le meilleur itinéraire.
Changer de swappiness peut ne pas avoir d'impact. Nous avons beaucoup joué avec les systèmes qui manquent de RAM et nous voulons pousser autant que possible le SSD et cela a eu peu d’impact, les éléments restant en mémoire (ce qui signifie qu'ils sont nécessaires). Cela peut être un point discutable.
Je vous recommande fortement de modifier le paramètre swappiness sur une valeur inférieure. Le meilleur est "0" si vous avez assez de mémoire vive/RAM pour votre système de 4 Go de RAM ou plus. Même si le swappiness à 10 avec un système de ram élevé, je vois à peine ubuntu mettre quoi que ce soit sur la partition swap car la plupart du temps, tout est déjà sur le ram.
J'ai fait un peu de recherche google et j'ai trouvé cette page http://namhuy.net/1563/how-to-Tweak-and-optimize-ssd-for-ubuntu-linux-mint.html
pourrait vous aider à modifier et à optimiser le SSD pour que votre système Ubuntu fonctionne plus efficacement et que votre disque dur vive plus longtemps
J'ai aimé l'idée de vérifier la sortie smartctl
, cependant, mon code est un peu plus compact. Je n'ai jamais compris pourquoi les gens ne savaient tout simplement pas que awk
était doté de la fonctionnalité grep
.
Sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'
Bien que ce soit le code que j'utilise:
Sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'