Configurer le Swap
Première partie. La permutation des ensembles. Ce site かもしれません être selon la réponse de degusa, mais ça pourrait être le contraire, et ça aura plus d'effet si c'est le cas.
Un scénario dans lequel certains d'entre nous sont heureux de se trouver est celui où nous avons beaucoup de RAM. En général, un petit pourcentage de celle-ci est utilisé directement par le noyau et les applications, une partie (peut-être une grande quantité si vous avez utilisé d'autres astuces pour améliorer les performances comme le montage de /tmp en mémoire) est utilisée pour ramfs et tmpfs, et des gigas et des gigas sont utilisés comme cache disque pour accélérer l'accès aux fichiers.
Dans ce scénario, une fois que la mémoire totale utilisée, y compris le cache, devient élevée, et qu'une application a besoin de plus de RAM, linux doit décider s'il faut prendre un peu de cache dans le système de fichiers, ou le transférer dans la partition/fichier d'échange.
Puisque nous avons des tonnes de RAM, et que nous n'avons probablement pris la peine d'utiliser le swap que pour pouvoir activer l'hibernation, nous voulons qu'il tende à prendre une partie de ce copieux cache, et donc que le swap soit faible. Si nous ne nous soucions pas de pouvoir hiberner, nous pourrions même trouver qu'une telle machine à haute RAM n'a pas besoin de swap du tout.
Un autre scénario est celui d'une personne disposant d'une faible mémoire vive qui passe d'une application lourde à une autre et passe un temps raisonnable sur chacune. Imaginez un développeur web qui passe un peu de temps sur son IDE, un peu sur un éditeur graphique, un peu sur son navigateur de choix, un peu sur d'autres navigateurs pour vérifier les problèmes de compatibilité, et peut-être 5 minutes toutes les heures sur son client de messagerie. Il est également probable qu'ils utilisent les mêmes fichiers de manière répétée en lecture et en écriture et qu'ils bénéficient donc de la mise en cache des fichiers. Cette personne pourrait probablement bénéficier d'un linux plus prompt à échanger la mémoire utilisée par n'importe laquelle de ces applications lourdes sur lesquelles elle n'est pas active actuellement, donc le swappiness devrait probablement être plus élevé pour elle.
Non seulement le meilleur réglage pour eux est susceptible d'être plus élevé que le conseil le plus courant, mais ils vont probablement le remarquer davantage que la personne qui a toujours des concerts en réserve de toute façon, aussi.
Partie 2. Priorité et nombre de partitions.
Chaque partition swap a une priorité, et linux utilisera celle qui est la plus élevée en premier. Si elle n'est pas définie dans /etc/fstab, elle sera traitée comme négative en commençant par -1 (les paramètres explicites sont compris entre 0 et 32767 et donc -1 est inférieur à tout paramètre explicite) et en continuant dans l'ordre dans fstab vers -2, -3 et ainsi de suite.
Le meilleur réglage dépend de l'emplacement physique des partitions. Si vous n'en avez qu'une, cela n'a pas d'importance (mais vous devriez peut-être en avoir plus d'une, alors lisez ce qui suit).
Si vous en avez deux ou plus sur le même disque physique, ils devraient avoir des priorités différentes afin qu'il n'essaie pas d'utiliser deux partitions qui nécessitent une recherche entre elles (quelqu'un sait-il si cela est automatiquement évité ?). Les valeurs par défaut sont correctes. Ce n'est probablement pas une bonne idée d'avoir deux swaps sur le même disque de toute façon, mais cela peut arriver si vous en créez un et décidez ensuite que vous avez besoin de plus de swap plus tard (peut-être en ajoutant plus de RAM).
Si vous avez deux ou plusieurs disques physiques de vitesse à peu près égale, le fait de leur attribuer la même priorité signifie que linux les utilisera tous les deux en même temps, ce qui offre de meilleures performances pour des raisons analogues à celles du RAID ou en s'assurant simplement que les fichiers fréquemment utilisés se trouvent sur les deux disques - le travail est réparti entre eux.
Si vous avez deux ou plusieurs disques physiques de vitesse égale mais que vous n'avez le swap que sur un seul, vous devriez peut-être changer cela, pour les raisons ci-dessus.
Si vous disposez de deux disques physiques ou plus, de vitesses très différentes, vous souhaitez généralement que le disque le plus rapide ait une priorité plus élevée que le plus lent, afin qu'il soit utilisé en premier. Vous pouvez même ne pas vouloir avoir de swap sur le plus lent, bien que cela puisse avoir du sens si vous avez par exemple un petit swap sur un disque rapide mais petit pour un swap rapide, et un plus grand swap sur le disque plus lent afin d'avoir assez d'espace pour hiberner.
Si le plus rapide des deux est un SSD, il y a alors deux alternatives avec des avantages et des inconvénients différents :
- L'échange le plus prioritaire, ou peut-être le seul, sur le SSD, pour la vitesse.
- N'échangez que sur le non-SSD, pour réduire les écritures sur le SSD et donc augmenter sa durée de vie.
Le numéro 2 est probablement celui qu'il faut choisir si vous n'avez qu'un espace de permutation pour l'hibernation et que votre abondante RAM signifie que vous n'en avez pas vraiment besoin (et si vous dépensez de l'argent pour un SSD, vous devriez aussi le dépenser pour la RAM), à moins que vous ne soyez un fanatique de la vitesse de démarrage qui veut sortir de l'hibernation à une vitesse qui mettra en valeur votre plate-forme de luxe ! Sinon, l'équilibre est une question de vitesse par rapport à la durée de vie du SSD.
Si vous avez un lecteur qui existe uniquement pour le swap afin de ne pas entrer en compétition avec d'autres entrées/sorties de fichiers, alors vous êtes vraisemblablement très à cheval sur les performances et vous connaissez déjà ces choses mieux que moi et vous ne lisez ceci que pour voir si je n'ai rien de faux !