■FreeBSD10.1-RC4のsnmpwalkでメモリの空き容量を表示する。 FreeBSD10.1-RC4にnet-snmp(snmpd/snmptrapd)をインストールしてみた。 http://labunix.hateblo.jp/entry/20141119/1416323890 ■FreeBSDはsysctlで確認出来る。 例えば、1GBのメモリを積んでる。(仮想マシンなので。。。) $ sysctl hw.physmem | awk '{print $2/1024/1024"MB"}' 1000.05MB ■sysctlのパラメータを探すの面倒なので、snmpwalkでこんな感じ。 $ for list in memTotalReal memTotalFree ;do \ snmpwalk -c public -v 1 localhost ${list}; \ done | awk '{printf "%s ",$(NF-1)}' | \ awk '{print "Used : "($1-$2)/1024"M\nFree : "$2/1024"M\nTotal: "$1/1024"M"}' Used : 145.492M Free : 854.559M Total: 1000.05M ■Linuxのfreeの書式風に。 $ for list in memTotalReal memTotalFree memShared memBuffer memCached ;do \ snmpwalk -c public -v 1 localhost ${list}; \ done | awk '{printf "%s ",$(NF-1)}' | awk 'OFS="," {print "Mem:",$1,($1-$2),$2,$3,$4,$5}' Mem:,1024052,148984,875068,49848,19552,23508 ■Debianでの出力 $ free | head -2 | sed s/" *"/","/g ,total,used,free,shared,buffers,cached Mem:,8014268,4859192,3155076,0,61664,3609696 ■swapとかも出来るようですが、今日はここまで。。。 $ snmpwalk -c public -v 1 localhost mem UCD-SNMP-MIB::memIndex.0 = INTEGER: 0 UCD-SNMP-MIB::memErrorName.0 = STRING: swap UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 2096988 kB UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 2096988 kB UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 1024052 kB UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 894256 kB UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 833292 kB UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB UCD-SNMP-MIB::memShared.0 = INTEGER: 41160 kB UCD-SNMP-MIB::memBuffer.0 = INTEGER: 19552 kB UCD-SNMP-MIB::memCached.0 = INTEGER: 23432 kB UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0) UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: