Advertisement
Guest User

smart_spindown_init

a guest
Sep 16th, 2015
1,121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #! /bin/sh
  2. #
  3. # smart_spindown startup/stop script
  4.  
  5.  
  6. SVCNAME=smart_spindown
  7. SMART_SPINDOWN_SCRIPT=/usr/sbin/smart_spindown
  8. SMART_SPINDOWN_LOG=/mnt/ramdisk/smart_spindown.log
  9. SMART_SPINDOWN_PID=/var/run/$(basename ${SMART_SPINDOWN_SCRIPT}).pid
  10.  
  11. checkconfig() {
  12.     if [ ! -r $SMART_SPINDOWN_SCRIPT ] ; then
  13.         echo "Spindown script not found at $SMART_SPINDOWN_SCRIPT"
  14.         return 1
  15.     fi
  16.  
  17.     for A in dirty_expire_centisecs dirty_writeback_centisecs dirty_ratio dirty_background_ratio laptop_mode swappiness ; do
  18.         if [ ! -w /proc/sys/vm/$A ] ; then
  19.             echo "VM config /proc/sys/vm/$A not writable"
  20.             return 1
  21.         fi
  22.     done
  23. }
  24.  
  25.  
  26. start() {
  27.     checkconfig || return 1
  28.     echo "Starting ${SVCNAME}"
  29.  
  30.     echo 0 > /proc/sys/vm/dirty_expire_centisecs
  31.     echo 0 > /proc/sys/vm/dirty_writeback_centisecs
  32.     echo 95 > /proc/sys/vm/dirty_ratio
  33.     echo 10 > /proc/sys/vm/dirty_background_ratio
  34.     echo 5 > /proc/sys/vm/laptop_mode
  35.     echo 40 > /proc/sys/vm/swappiness
  36.     start-stop-daemon --start --background --quiet \
  37.         --pidfile ${SMART_SPINDOWN_PID} --make-pidfile \
  38.         --exec ${SMART_SPINDOWN_SCRIPT}
  39.  
  40. }
  41.  
  42. stop() {
  43.     echo "Stopping ${SVCNAME}"
  44.  
  45.     # "echo" before start-stop-deamon,
  46.     # so we get the error code of s-s-d as exit code
  47.     echo 3000 > /proc/sys/vm/dirty_expire_centisecs
  48.     echo 500  > /proc/sys/vm/dirty_writeback_centisecs
  49.     echo 40 > /proc/sys/vm/dirty_ratio
  50.     echo 10 > /proc/sys/vm/dirty_background_ratio
  51.     echo 0 > /proc/sys/vm/laptop_mode
  52.     echo 60 > /proc/sys/vm/swappiness
  53.     start-stop-daemon --stop --quiet --pidfile ${SMART_SPINDOWN_PID}
  54. }
  55.  
  56. case "$1" in
  57.     start)
  58.         start
  59.         ;;
  60.     stop)
  61.         stop
  62.         ;;
  63.     restart)
  64.         stop
  65.         start
  66.         ;;
  67.     *)
  68.         echo $"Usage: $0 {start|stop|restart}"
  69.         exit 1
  70.         ;;
  71. esac
  72.  
  73. exit $?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement