/etc/sysctl.conf не сохраняется после перезагрузки - proUbuntu
4 голосов
/

Чтобы уменьшить частые сбросы памяти в файловой системе, я добавил следующие две строки к /etc/syctl.conf.

vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

Я тогда побежал, sudo sysctl -p, и изменения вступили в силу правильно. Однако после перезагрузки системы я все еще вижу старые значения для dirty_ratio и dirty_background_ratio.

new-sys-admin@ThinkPad:~$ sysctl -n vm.dirty_background_ratio 
10
new-sys-admin@ThinkPad:~$ sysctl -n vm.dirty_ratio 
5

Я использую Ubuntu 12.04.3 LTS 3.2.0-52-generic-pae. Посмотрев пару постов:

похоже на задание upstart, /etc/init.d/procps должен запускаться при загрузке системы и перезагружать /etc/sysctl.d/* и /etc/sysctl.conf содержимое через /etc/init/procup.conf, но не похоже, что это так.

При следующей перезагрузке я запустил service procps start, и изменения вступили в силу. Мне интересно, как заставить procps работать последовательно во время загрузки, и если я пропускаю дополнительный шаг для сохранения этих изменений.

РЕДАКТИРОВАТЬ 1

Также пытался использовать эти значения в /etc/sysctl.d/10-local.conf согласно предложению Билла.

new-sys-admin@ThinkPad:~$ cat /etc/sysctl.d/10-local.conf 
vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

После перезапуска значения возвращаются обратно.

Ответы [ 3 ]

3 голосов
/

Ответ от Gsus и выше также решил мою проблему.

/usr/lib/pm-utils/power.d/laptop-mode записывает значения dirty_ratio=10 dirty_background_ratio=5 writeback_centisecs=500 после того, как sysctl обработал файлы в /etc/sysctl.d.

Но мне не очень удобно комментировать строку в сценарии вечера.

Поскольку я работаю в настольной системе и осознаю, что мне не нужны изменения dirty_* сверху, я попытался переместить /usr/lib/pm-utils/power.d/laptop-mode в другое место. Утилиты вечера не жаловались.

Таким образом, существует возможность перенаправить файл, чтобы обновление пакета не создавало его заново.

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

Вы должны только сделать это, если вы хотите адаптировать параметры dirty_ratio dirty_background_ratio writeback_centisecs вручную.

Для утилит управления питанием было бы понятнее, когда они создали файл в /etc/sysctl.d, чтобы лучше понять, что происходит.

1 голос
/

В /usr/lib/pm-utils/power.d/laptop-mode закомментируйте следующую строку в функции laptop_mode_ac():

write_values 0 10 5 500

Там значения изменяются на:

dirty_ratio = 10
vm.dirty_background_ratio = 5

затем перезагрузите компьютер, значения sysctl должны сохраниться.

0 голосов
/

Поместите ваши команды в файл под /etc/sysctl.d. Что-то вроде 10-local.conf, содержащее:

vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

Если файл остается на месте, его следует запускать при каждой перезагрузке.

...