Can't change vm.dirty_ratio with /etc/sysctl.conf

I recently bought an 120GB SSD drive and I wanted to tweak my OS for it. I found some tutorial to do that and I followed it, but I've found some problems.

I wanted to change vm.dirty_ratio value to 60, so I've added this line: vm.dirty_ratio = 60 at the end of my /etc/sysctl.conf. Then I rebooted my computer to apply changes.

Now when I use sysctl vm.dirty_ratio it returns 10, but I think with vm.dirty_background_ratio it worked.

What should I do to set it, or maybe I'm attempting to read it wrong way? Thanks for help!

--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
# 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

Output of sudo free --human, because I'm unable to post it in comment:

 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
3

2 Answers

  • Setting such a high vm.dirty_ratio might not be a very good idea. See:
  • Your updated settings should be added to a file in /etc/sysctl.d (e.g. something like /etc/sysctl.d/60-local-dirty-bytes.conf), as sysctl.conf is curretly not read on startup. See:
  • pm-utils reset the vm.dirty_bytes settings. You need to disable the /usr/lib/pm-utils/power.d/laptop-mode script that resets these variables, for example by putting an exit 0 on the second line of this script. See:
2

As per last comment: the vm.dirty_ratio just buffers pages to be written in larger chunks and is therefore not critical to your SSD life-cycle (mine has the standard 10). the noatime and discard options in fstab (the latter only if your disk supports trim) are more useful to keep the number of writes lower.

I also implemented data=writeback in fstab for my SSD disk, but only do that if you're running on a PC with a UPS (or have a laptop with a working battery)

Also: always make a back-up copy of fstab before changing anything!

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like