#!/bin/sh
# From https://unix.stackexchange.com/questions/30286/can-i-configure-my-linux-system-for-more-aggressive-file-system-caching

#HDD
#echo cfq > /sys/block/sda/queue/scheduler
#echo 10000 > /sys/block/sda/queue/iosched/fifo_expire_async
#echo 250 > /sys/block/sda/queue/iosched/fifo_expire_sync
#echo 80 > /sys/block/sda/queue/iosched/slice_async
#echo 1 > /sys/block/sda/queue/iosched/low_latency
#echo 6 > /sys/block/sda/queue/iosched/quantum
#echo 5 > /sys/block/sda/queue/iosched/slice_async_rq
#echo 3 > /sys/block/sda/queue/iosched/slice_idle
#echo 100 > /sys/block/sda/queue/iosched/slice_sync
#hdparm -q -M 254 /dev/sda

#SSD
echo cfq > /sys/block/sda/queue/scheduler
echo 1 > /sys/block/sda/queue/iosched/back_seek_penalty
echo 10000 > /sys/block/sda/queue/iosched/fifo_expire_async
echo 20 > /sys/block/sda/queue/iosched/fifo_expire_sync
echo 1 > /sys/block/sda/queue/iosched/low_latency
echo 6 > /sys/block/sda/queue/iosched/quantum
echo 2 > /sys/block/sda/queue/iosched/slice_async
echo 10 > /sys/block/sda/queue/iosched/slice_async_rq
echo 1 > /sys/block/sda/queue/iosched/slice_idle
echo 20 > /sys/block/sda/queue/iosched/slice_sync


# Kernel
echo 5 > /proc/sys/vm/swappiness
echo 10 > /proc/sys/vm/vfs_cache_pressure
echo 69 > /proc/sys/vm/dirty_ratio
echo 30 > /proc/sys/vm/dirty_background_ratio


# Preload
(nice find /mnt/software/arduino-1.6.5/ /usr -type f -print0 | nice ionice -c 3 wc -l --files0-from - > /dev/null)&
