|
|
} | } |
| |
check_memsize() { | check_memsize() { |
for sysctl_key in net.core.{w,r}mem_{max,default}; do |
local wr md sysctl_key v k |
v="$(sysctl -n ${sysctl_key})" |
for wr in r w; do |
if [ "${v}" -lt "${MEM_SIZE}" ]; then |
for md in max default; do |
ewarn "$sysctl_key is lower than recommended ${MEM_SIZE}" |
sysctl_key="net.core.${wr}mem_${md}" |
fi |
v="$(sysctl -n ${sysctl_key})" |
|
if [ "${v}" -lt "${MEM_SIZE}" ]; then |
|
ewarn "$sysctl_key ($v) is lower than recommended ${MEM_SIZE}" |
|
fi |
|
done |
done | done |
for sysctl_key in net.ipv4.tcp_{,r,w}mem ; do |
for wr in "" r w; do |
v="$(sysctl -n ${sysctl_key} | xargs)" |
sysctl_key="net.ipv4.tcp_${wr}mem" |
v1="${v/ *}" v2="${v#* }" v3="${v2/* }" v2="${v2/ *}" |
set -- $(sysctl -n ${sysctl_key}) |
min="${v1}" default="${v2}" max="${v3}" |
|
for k in min default max ; do | for k in min default max ; do |
if [ "${!k}" -lt "${MEM_SIZE}" ]; then |
if [ "${1}" -lt "${MEM_SIZE}" ]; then |
ewarn "$sysctl_key:$k is lower than recommended ${MEM_SIZE}" |
ewarn "$sysctl_key:$k (${1}) is lower than recommended ${MEM_SIZE}" |
fi | fi |
|
shift |
done | done |
done | done |
} | } |
|
|
# ugly, but ietadm does not allways provides correct exit values | # ugly, but ietadm does not allways provides correct exit values |
RETURN="$(ietadm --op delete 2>&1)" | RETURN="$(ietadm --op delete 2>&1)" |
RETVAL=$? | RETVAL=$? |
if [ $RETVAL == "0" ] && [[ $RETURN != "something wrong" ]]; then |
if [ $RETVAL -eq 0 ] && [ "$RETURN" != "something wrong" ]; then |
eend 0 | eend 0 |
else | else |
eend 1 | eend 1 |