Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have an SSD in my laptop and I've been told that switching to the "noop" scheduler is preferred.

How do I change to the noop scheduler, and where do I make the change so that it is persistent across reboots?

share|improve this question

3 Answers 3

up vote 11 down vote accepted

Edit /etc/default/grub, such as gksudo gedit /etc/default/grub, here you need to add elevator=noop.

Change GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop".

Then run sudo update-grub2 and restart.

share|improve this answer
1  
Anonymous' answer is good for changing the default across all disks on a system. By contrast, Eliah Kagan's answer sets the default for specific disks. For a laptop with a single drive, either works fine. For systems with multiple disks -- most notably, disks with both SSDs and rotating drives), Eliah Kagan's answer provides finer-grained control. –  Royce Williams May 29 at 7:15

Suppose your hard disk is /dev/sda. Then you could check to see what scheduler is currently in use for it:

cat /sys/block/sda/queue/scheduler

(The scheduler currently in use will be surrounded by [ ] brackets.)

And you could make it use the noop scheduler:

echo noop > /sys/block/sda/queue/scheduler

See this article for slightly more information.

To make the change persist, you can put the command in /etc/rc.local.

share|improve this answer

This Debian reference shows how to dynamically detect SSDs and change the scheduler accordingly:

In systems with different drive types you can adjust settings with a udev rule (create /etc/udev/rules.d/60-ssd-scheduler.rules):

# Set deadline scheduler for non-rotating disks

 ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline"

To make sure that your kernel can detect rotational status:

$ for f in /sys/block/sd?/queue/rotational; do printf "$f is "; cat $f; done
/sys/block/sda/queue/rotational is 1
/sys/block/sdb/queue/rotational is 1
/sys/block/sdc/queue/rotational is 0   <=== Only this is SSD!

All of the above is quoted directly from the Debian reference, which has many other elements of interest to first-time SSD users.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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