vmstat não é tão útil para medir o uso de memória. Ele não fornece nenhuma métrica para quantificar quanta memória virtual e física é usada e o que está sendo usado. No entanto, é uma ferramenta muito boa para medir a escassez de RAM. Você só precisa monitorar a coluna sr (taxa de varredura). Enquanto permanecer igual a zero, você não deve se preocupar com RAM. Se não for igual a zero, você deve investigar o que está exigindo RAM.
Para ter uma ideia detalhada sobre o que está usando a memória do sistema, além do comando echo ::memstat | mdb -k já sugerido, é possível executar prstat -n 1 -a , que fornecerá o uso de memória por usuário, prstat -n 1 -Z para uso da zona e prstat -s rss para uso por processo classificado por RAM.
Em prstat output, a coluna SWAP mostra a memória virtual usada e a coluna RSS , a RAM usada.
Sobre o uso do kernel, você pode executar kstat -n system_pages e dar uma olhada no valor pp_kernel .
Para responder com precisão à sua pergunta:
how can I see how much OS uses and how much is used by app is it vmstat(Sunos) and /proc/meminfo (Linux) OK for that?
Nenhum vmstat não está correto para isso no Solaris. Você pode executar echo ::memstat | mdb -k e analisar sua saída.
A soma das linhas " Anon " e " Exec and libs " é a RAM usada pelos aplicativos. A linha " Kernel " informa a RAM usada pelo kernel, as linhas " ZFS ... ", " Page cache "e" Free (cachelist) "mostram RAM usada para armazenar dados em cache e a linha" Free (freelist) "reporta RAM não utilizada, ou seja, desperdiçada.
Observação: todos os itens acima são sobre o Solaris.