Si je configure la valeur de swappiness à une autre, par exemple: 60 à 0, alors je dois toujours redémarrer la machine pour que les modifications prennent effet? Même en modifiant avec:
sysctl -w vm.swappiness=0
Si je configure la valeur de swappiness à une autre, par exemple: 60 à 0, alors je dois toujours redémarrer la machine pour que les modifications prennent effet? Même en modifiant avec:
sysctl -w vm.swappiness=0
Tout est bien expliqué dans la page Wikipédia que vous avez donnée.
# Set the swappiness value as root
echo 10 > /proc/sys/vm/swappiness
# Alternatively, run this as a non-root user
# This does the same as the previous command
sudo sysctl -w vm.swappiness=10
# Verify the change
cat /proc/sys/vm/swappiness
10
À ce stade, le système gérera l'échange comme vous venez de le configurer, MAIS si vous redémarrez MAINTENANT, votre modification sera oubliée et le système fonctionnera avec la valeur par défaut (en supposant 60, ce qui signifie qu'il commencera à échanger à 40% occupation de la RAM).
Vous devez ajouter la ligne ci-dessous /etc/sysctl.conf
pour conserver votre modification de façon permanente:
vm.swappiness = 10
J'espère que c'est plus clair pour vous maintenant!
-w
commutateur est censé écrire le changement. On pourrait penser qu'après avoir écrit cela, ajouter la ligne par défaut dans sysctl.conf ne serait pas nécessaire.Le contraire, en fait - le redémarrage réinitialisera la permutation à sa valeur par défaut. Pour le faire persister après les redémarrages, vous devez inclure une directive dans un script de démarrage ou utiliser la méthode recommandée dans l'article wikipedia en ajoutant:
Pour
/etc/sysctl.conf
(ou un/etc/sysctl.d
fichier), où??
est la valeur que vous souhaitez utiliser. Notez que l'ajout de cela n'entraînera aucun changement à ce moment-là.la source
La réponse acceptée est correcte, mais il est recommandé d'utiliser un fichier de configuration "sysctl" distinct afin de ne pas écraser accidentellement d'autres paramètres (ce qui peut se produire si vous écrasez le "sysctl.conf" global).
Ceux qui ont déjà modifié le fichier de configuration global "/etc/sysctl.conf" pourraient vouloir supprimer les lignes définissant cette valeur "swappiness" de ce fichier. Vous pouvez utiliser cette commande pour supprimer ces lignes du fichier de configuration global (en conservant les commentaires):
Maintenant, pour appliquer la nouvelle valeur, dites
sysctl
de l'utiliser:Ou appliquez tous les paramètres, y compris la permutation:
Vérifiez-le:
la source
J'ai trouvé que sur une machine CentOS , le
vm.swappiness
était installé/usr/lib/tuned/virtual-guest/tuned.conf
.Déterminez où la valeur par défaut est définie en parcourant
tuned
les fichiers de configuration :Après la mise à jour de la valeur par défaut, la permutation actuelle peut toujours être définie sans redémarrage :
et testé par:
la source
Les modifications apportées aux utilisateurs
sysctl
par convention vont dans des fichiers avec le préfixe,60-
donc le nom de fichier doit être/etc/sysctl.d/60-swappiness.conf
. Exécutez enservice procps start
tant que root pour forcer une relecture des valeurs de configuration (aucun redémarrage nécessaire).la source