Сегодня потребовалось узнать сколько памяти в Салярке всего, сколько свободно и сколько занято… Ага и команды free нету. Но есть kstat, как подсказал скрипт проверки памяти из Nagios, а дальше написал «свой» free:
#!/bin/sh ### Mem/swap using in Solaris if [ x"$1" != x"---run_in_bash" ]; then bash $0 ---run_in_bash $@ exit $? fi shift page_size=`kstat -p unix:0:seg_cache:slab_size | awk '{print $2}'` # RAM mem_total=`kstat -p unix:0:system_pages:pagestotal | awk '{print $2}'` mem_total=`expr $mem_total * $page_size / 1024` mem_used=`kstat -p unix:0:system_pages:pageslocked | awk '{print $2}'` mem_used=`expr $mem_used * $page_size / 1024` mem_free=`kstat -p unix:0:system_pages:pagesfree | awk '{print $2}'` mem_free=`expr $mem_free * $page_size / 1024` # SWAP swap_total=`kstat -p unix:0:vminfo:swap_avail | awk '{print $2}'` swap_total=`expr $swap_total / 1024 / 1024` swap_used=`kstat -p unix:0:vminfo:swap_alloc | awk '{print $2}'` swap_used=`expr $swap_used / 1024 / 1024` swap_free=`kstat -p unix:0:vminfo:swap_free | awk '{print $2}'` swap_free=`expr $swap_free / 1024 / 1024` #echo -e "ttotalttusedttfree" #echo -e "mem:t$mem_totaltt$mem_usedtt$mem_free" #echo -e "swap:t$swap_totaltt$swap_usedtt$swap_free" # для более красивого вывода printf " %14s %14s %14sn" "total" "used" "free" printf " mem: %14d %14d %14dn" $mem_total $mem_used $mem_free printf "swap: %14d %14d %14dn" $swap_total $swap_used $swap_free
В качестве источника информации: https://project.openfiler.com/tracker/browser/openfiler/branches/2.x-rpath/var/www/phpsysinfo/includes/os/class.SunOS.inc.php?rev=1161
Дискуссия
-page_size=`kstat -p unix:0:seg_cache:slab_size | awk '{print $2}'`
+page_size=`/usr/bin/pagesize`