base-files: reduce vm.min_free_kbytes for devices with 32M RAM
[openwrt/openwrt.git] / package / base-files / files / etc / init.d / sysctl
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2006 OpenWrt.org
3
4 START=11
5
6 set_vm_min_free() {
7 mem="$(grep MemTotal /proc/meminfo | awk '{print $2}')"
8 if [ "$mem" -gt 65536 ]; then # 128M
9 val=16384
10 elif [ "$mem" -gt 32768 ]; then # 64M
11 val=8192
12 elif [ "$mem" -gt 16384 ]; then # 32M
13 val=1024
14 else
15 return
16 fi
17 sysctl -qw vm.min_free_kbytes="$val"
18 }
19
20 start() {
21 set_vm_min_free
22 for CONF in /etc/sysctl.conf /etc/sysctl.d/*.conf; do
23 [ -f "$CONF" ] && sysctl -p "$CONF" -e >&-
24 done
25 }