Не могу изменить vm.dirty_ratio с /etc/sysctl.conf

Я недавно купил накопитель на 120 ГБ и хотел настроить свою ОС для него. Я нашел для этого какое-то руководство и последовал ему, но я нашел некоторые проблемы.

Я хотел изменить vm.dirty_ratio значение до 60, поэтому я добавил эту строку: vm.dirty_ratio = 60 в конце моего /etc/sysctl.conf, Затем я перезагрузил компьютер, чтобы применить изменения.

Теперь, когда я использую sysctl vm.dirty_ratio возвращается 10, но я думаю с vm.dirty_background_ratio это сработало.

Что я должен сделать, чтобы установить его, или, возможно, я пытаюсь прочитать это неправильно? Спасибо за помощь!

--EDIT-- /etc/sysctl.conf:

#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1


###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#

#My SSD tweaks
vm.swappiness = 5
vm.dirty_background_ratio = 5 
vm.dirty_ratio = 60

Выход из sudo free --humanпотому что я не могу оставить это в комментарии:

             total       used       free     shared    buffers     cached
Mem:          3,8G       3,4G       473M       102M        65M       935M
-/+ buffers/cache:       2,4G       1,4G
Swap:         3,9G       280K       3,9G

2 ответа

Решение

В соответствии с последним комментарием: vm.dirty_ratio просто буферизует страницы для записи большими кусками и, следовательно, не критично для вашего жизненного цикла SSD (у меня стандарт 10). noatime а также discard параметры в fstab (последний, только если ваш диск поддерживает обрезку) более полезны для уменьшения количества записей.

Я также реализовал data=writeback в fstab для моего SSD диска, но делайте это только в том случае, если вы работаете на компьютере с ИБП (или у вас есть ноутбук с работающей батареей)

Также: всегда делайте резервную копию fstab прежде чем что-то менять!

  • Установка такого высокого значения vm.dirty_ratio может быть не очень хорошей идеей. Смотрите: http://lwn.net/Articles/572911/
  • Ваши обновленные настройки должны быть добавлены в файл в /etc/sysctl.d (например, что-то вроде /etc/sysctl.d/60-local-dirty-bytes.conf), поскольку sysctl.conf при запуске не читается. Смотрите: https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1388068
  • pm-utils сбросьте настройки vm.dirty_bytes. Вам необходимо отключить /usr/lib/pm-utils/power.d/laptop-mode скрипт, который сбрасывает эти переменные, например, помещая exit 0 во второй строке этого скрипта. Смотрите: https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/1407818
Другие вопросы по тегам