Dans le but de réduire les vidages fréquents de mémoire dans le système de fichiers, j'ai ajouté les deux lignes suivantes à /etc/syctl.conf
.
vm.dirty_background_ratio = 50
vm.dirty_ratio = 80
J'ai ensuite lancé Sudo sysctl -p
et les modifications ont bien fonctionné. Lors du redémarrage du système, toutefois, les anciennes valeurs de dirty_ratio et dirty_background_ratio sont toujours présentes.
new-sys-admin@ThinkPad:~$ sysctl -n vm.dirty_background_ratio
10
new-sys-admin@ThinkPad:~$ sysctl -n vm.dirty_ratio
5
J'utilise Ubuntu 12.04.3 LTS 3.2.0-52-generic-pae. Après avoir regardé quelques articles:
/etc/init.d/procps
est supposé s’exécuter au démarrage du système et recharger /etc/sysctl.d/*
et /etc/sysctl.conf
contenu via /etc/init/procup.conf
, mais il ne semble pas que ce soit le cas.
Au prochain redémarrage, j’ai exécuté service procps start
et les modifications ont été appliquées. Je me demande comment faire en sorte que procps s'exécute de manière cohérente au démarrage et s'il me manque une étape supplémentaire pour rendre ces modifications persistantes.
J'ai également essayé d'avoir ces valeurs dans /etc/sysctl.d/10-local.conf
selon la suggestion de Bill.
new-sys-admin@ThinkPad:~$ cat /etc/sysctl.d/10-local.conf
vm.dirty_background_ratio = 50
vm.dirty_ratio = 80
Au redémarrage, les valeurs sont rétablies.
La réponse de Gsus ci-dessus a également résolu mon problème.
/usr/lib/pm-utils/power.d/laptop-mode
écrit les valeurs dirty_ratio=10 dirty_background_ratio=5 writeback_centisecs=500
après sysctl a traité les fichiers dans /etc/sysctl.d
.
Mais je ne me sens pas très à l'aise de commenter une ligne dans un script pm.
Comme je travaille sur un système de bureau et que je suis conscient du fait que je n’ai pas besoin des modifications de dirty_*
, j’ai essayé de déplacer /usr/lib/pm-utils/power.d/laptop-mode
vers un autre emplacement. Les pm utils ne se sont pas plaints.
Une possibilité serait donc de détourner le fichier, de sorte qu'une mise à jour du paquet ne le recrée pas.
Sudo dpkg-divert --add --rename --divert /usr/lib/pm-utils/power.d/laptop-mode /usr/lib/pm-utils/laptop-mode.diverted
Sudo mv /usr/lib/pm-utils/power.d/laptop-mode /usr/lib/pm-utils/laptop-mode.diverted
Vous devriez seulement faire ceci si vous voulez adapter les paramètres dirty_ratio dirty_background_ratio writeback_centisecs
manuellement.
Pour les utilitaires de gestion de l’alimentation, il serait plus clair lorsqu’ils ont créé un fichier dans /etc/sysctl.d de mieux comprendre ce qui se passe.
Dans /usr/lib/pm-utils/power.d/laptop-mode
, commentez la ligne suivante dans la fonction laptop_mode_ac()
:
write_values 0 10 5 500
Là les valeurs changent à:
dirty_ratio = 10
vm.dirty_background_ratio = 5
puis redémarrez, les valeurs de sysctl doivent persister.
Placez vos commandes dans un fichier sous /etc/sysctl.d
. Quelque chose comme 10-local.conf
contenant:
vm.dirty_background_ratio = 50
vm.dirty_ratio = 80
Si le fichier reste en place, il doit être exécuté à chaque redémarrage.