web-dev-qa-db-fra.com

/etc/sysctl.conf ne persiste pas après le redémarrage

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.

EDIT 1

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.

4
new_sys_admin

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.

3
steffel

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.

1
Gsus

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.

0
BillThor