Não é possível alterar vm.dirty_ratio com /etc/sysctl.conf

0

Eu comprei recentemente uma unidade SSD de 120GB e queria ajustar meu sistema operacional para ela. Eu encontrei alguns tutorial para fazer isso e eu segui, mas encontrei alguns problemas.

Eu queria alterar o valor de vm.dirty_ratio para 60, então adicionei esta linha: vm.dirty_ratio = 60 no final do meu /etc/sysctl.conf . Então eu reiniciei meu computador para aplicar alterações.

Agora, quando eu uso sysctl vm.dirty_ratio , ele retorna 10, mas acho que com vm.dirty_background_ratio funcionou.

O que devo fazer para defini-lo, ou talvez eu esteja tentando ler de maneira errada? Obrigado pela ajuda!

- 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

Saída de sudo free --human , porque não posso postar no comentário:

             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
    
por Jacajack 28.12.2014 / 20:41

2 respostas

1

Conforme o último comentário: o vm.dirty_ratio apenas armazena em buffer páginas a serem escritas em partes maiores e, portanto, não é crítico para o seu ciclo de vida do SSD (o meu tem o padrão 10). as opções noatime e discard no fstab (o último apenas se o seu disco suportar o ajuste) são mais úteis para manter o número de gravações mais baixo.

Eu também implementei data=writeback em fstab para meu disco SSD, mas só faça isso se você estiver executando em um PC com um no-break (ou tiver um laptop com uma bateria em funcionamento)

Além disso, sempre faça uma cópia de segurança de fstab antes de mudar alguma coisa!

    
por Fabby 29.12.2014 / 22:15
1
  • Configurar um vm.dirty_ratio tão alto pode não ser uma boa ideia. Veja: link
  • Suas configurações atualizadas devem ser adicionadas a um arquivo em /etc/sysctl.d (por exemplo, algo como /etc/sysctl.d/60-local-dirty-bytes.conf ), pois o sysctl.conf não é lido na inicialização. Consulte: link
  • pm-utils redefiniu as configurações de vm.dirty_bytes. Você precisa desabilitar o script /usr/lib/pm-utils/power.d/laptop-mode que redefine essas variáveis, por exemplo, colocando um exit 0 na segunda linha deste script. Veja: link
por Ael Ombreglace 11.01.2015 / 18:56