0

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

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
  • @Fabby Unfortunately it didn't work. I'm getting same values as before. Also, for example vm.swappiness was working with spaces. I think spaces are allowed, but not when you want to do that from terminal.
    – Jacajack
    Dec 29, 2014 at 20:50
  • (grasping at straws now) Add an additional [enter] at the end??? Delete the line and type it again??? (some invisible character crept in?) It should just work...
    – Fabby
    Dec 29, 2014 at 20:54
  • 1
    @Fabby Well... It's still the same. I've added new line at the end of the file, rewrited line and rebooted PC. Is that line really important line for my disk, or can I just ignore it, because it won't short life of it?
    – Jacajack
    Dec 29, 2014 at 21:03

2 Answers 2

2
2
  • I think I was exaggerating a little bit. Lifetime of SSD is not as short as I thought, so I'll leave everything as it is for now. Anyway, thanks for answer and some knowledge. :) If my mind changes I'll come back to your answer. Also, how much does vm.dirty_ratio change disk I/O operations?
    – Jacajack
    Jan 11, 2015 at 18:24
  • These settings do change how long it takes for data to be written to the disks. I don't think they will have a huge impact on the volume of data written to the disks.
    – user77036
    Jan 13, 2015 at 22:23
1

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
  • 1
    I've already added those options to my fstab, except data=writeback, because my PC doesn't have UPS. Anyway, thanks for help. :)
    – Jacajack
    Dec 29, 2014 at 21:19

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.