Usando este script retirado deste site
#!/usr/bin/ksh
# Available memory
memory=`prtconf | grep Memory | head -1 | awk 'BEGIN {FS=" "} {print $3}'`
gb_memory=`echo "scale=2; $memory/1024" | bc -l`
# Free memory
pagesize=`pagesize`
kb_pagesize=`echo "scale=2; $pagesize/1024" | bc -l`
sar_freemem=`sar -r 1 1 | tail -1 | awk 'BEGIN {FS=" "} {print $2}'`
gb_freemem=`echo "scale=2; $kb_pagesize*$sar_freemem/1024/1024" | bc -l`
# Used Memory
gb_usedmem=`echo "scale=2; $gb_memory-$gb_freemem" | bc -l`
# Conclusion
echo "Avai Mem: $gb_memory GB"
echo "Free Mem: $gb_freemem GB"
echo "Used Mem: $gb_usedmem GB"
Eu vejo um monte de carneiro usado
Avai Mem: 7.25 GB
Free Mem: .62 GB
Used Mem: 6.63 GB
Com o comando top, vejo o processo mais "comer ram" usar 144M de ram, mas apenas 690M de ram é livre, isso é um pouco estranho, mesmo calculando o outro processo de rss, ainda não entendo como um sistema pode usar mais de 4 GB de ram .
last pid: 15109; load avg: 0.08, 0.08, 0.07; up 2+00:33:21 15:25:40
88 processes: 87 sleeping, 1 on cpu
CPU states: 94.4% idle, 1.3% user, 4.3% kernel, 0.0% stolen, 0.0% swap
Kernel: 1031 ctxsw, 633 trap, 769 intr, 2053 syscall, 617 flt
Memory: 7430M phys mem, 690M free mem, 1024M total swap, 1024M free swap
PID USERNAME NLWP PRI NICE SIZE RES STATE TIME CPU COMMAND
879 root 17 59 0 209M 142M sleep 8:11 0.32% sstored
1267 root 43 59 0 129M 30M sleep 0:04 0.01% fmd
14774 root 64 59 0 90M 64M sleep 0:04 0.24% pkg.depotd
14810 root 64 59 0 90M 63M sleep 0:04 0.25% pkg.depotd
14792 root 64 59 0 87M 60M sleep 0:04 0.24% pkg.depotd
15 root 36 59 0 80M 47M sleep 1:23 0.67% svc.configd
13 root 14 59 0 39M 7272K sleep 0:07 0.01% svc.startd
1448 root 12 59 0 28M 7152K sleep 0:14 0.01% sysstatd
1483 _polkitd 6 59 0 25M 196K sleep 0:00 0.00% polkitd
1465 pkg5srv 27 59 0 24M 2228K sleep 0:00 0.00% httpd
4962 pkg5srv 27 59 0 24M 4672K sleep 0:00 0.00% httpd
1461 pkg5srv 27 59 0 24M 4032K sleep 0:00 0.00% httpd
1464 pkg5srv 27 59 0 24M 3516K sleep 0:00 0.00% httpd
1032 webservd 27 59 0 24M 3668K sleep 0:00 0.00% httpd
1045 webservd 27 59 0 24M 3484K sleep 0:00 0.00% httpd
1041 webservd 27 59 0 24M 3480K sleep 0:00 0.00% httpd
1458 pkg5srv 24 59 0 24M 4656K sleep 0:04 0.00% httpd
1012 webservd 18 59 0 23M 7620K sleep 0:04 0.00% httpd
280 root 11 59 0 23M 8360K sleep 0:00 0.00% rad
658 root 31 59 0 23M 5168K sleep 0:07 0.04% nscd
359 daemon 3 59 0 21M 4K sleep 0:00 0.00% colord
560 netadm 8 59 0 18M 4352K sleep 0:02 0.00% nwamd
838 root 3 59 0 18M 3064K sleep 0:00 0.00% zoneadmd
338 root 7 59 0 17M 10M sleep 0:02 0.00% devfsadm
4350 root 1 59 0 17M 4972K sleep 0:01 0.00% sendmail
1469 root 3 59 0 16M 3776K sleep 0:00 0.00% accounts-daemon
ps=há uma zona ativa, mas..não está funcionando
Como o @Fox observou em um comentário, pode ser o ZFS que, por padrão, usa memória livre para cache IO. Existem vários ajustes, mas apenas atualizar o Solaris pode ajudar, pois eles adicionaram alguns recursos para ajudar no desempenho do ZFS no Solaris 11. Ref. MOS doc: Memory Management Between ZFS and Applications in Oracle Solaris 11.x (Doc ID 1663862.1) for some informações e orientações.
Consulte o seguinte para alguns reco's do ZFS fora do Oracle: https://constantin.glez.de/2010/04/28/ten-ways-to-easily-improve-oracle-solaris-zfs-filesystem-performance/#ssdread
Além disso, se você estiver usando dedup em qualquer conjunto de dados, ele usará uma boa quantidade de memória.