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.