Skip to content

Instantly share code, notes, and snippets.

@hmmbug
Created July 15, 2014 03:08
Show Gist options
  • Save hmmbug/33331b5c1432629b33c4 to your computer and use it in GitHub Desktop.
Save hmmbug/33331b5c1432629b33c4 to your computer and use it in GitHub Desktop.
bash: detect SSD/HDD and set appropriate disk scheduler
# set disk scheduler
sed -i "/^echo .*queue\/scheduler$/d" /etc/rc.local
for d in /dev/sd?
do
device=${d/\/dev\//}
rotational=$(cat /sys/block/${device}/queue/rotational)
if [ "$rotational" = "0" ] ; then
echo noop > /sys/block/${device}/queue/scheduler
echo "echo noop > /sys/block/${device}/queue/scheduler" >> /etc/rc.local
echo "Set SSD $d scheduler to 'noop'."
elif [ "$rotational" = "1" ] ; then
echo deadline > /sys/block/${device}/queue/scheduler
echo "echo deadline > /sys/block/${device}/queue/scheduler" >> /etc/rc.local
echo "Set HDD $d scheduler to 'deadline'."
else
echo "Unknown device type (SSD/HDD) for $d: No changes made to scheduler."
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment