Para fazermos análise do consumo de memória do usuário ou processo fazemos o uso do svmon.
Consumo por usuário:
# svmon -U kairoa | grep kairoa kairoa 20115 7393 0 19739
O primeiro valor é o Inuse, o valor que precisamos. Porém ele está em
blocos de 4096.
Para obter o valor em Megabytes multiplique por 4096, em seguida divida
por 1024 para obter em bytes e novamente por 1024 para obter os valores
em megas.
Exemplo utilizando o BC
# echo "20324*4096/1024/1024" | bc 79
Sendo assim meu usuário está consumindo 79Mb da memória.
Outro exemplo, o do root:
# svmon -U root | grep root root 80333 8481 26 65502 #echo
"80333*4096/1024/1024"|bc 313
Como sabemos que o root é responsável pelos processos do sistema operacional AIX, podemos concluir que o sistema operacional está consumindo 313Mb.
Consumo de um processo:
Basta utilizar o parâmetro -P pid
Exemplo:
# svmon -P 757966 | grep 757966 757966 sshd 19916 7390 0 19602 N N N
# echo "19916*4096/1024/1024" | bc
77
Dica sobre memória do Oracle no AIX
O Oracle possui dois processos distintos no AIX, são eles:
*smon* - SGA do banco
*pmon* - Reserva para processos do banco
Se deseja saber quanto de SGA está definida para o banco faça:
# ps -ef | grep smon root 1306682 4423854 0 12:49:33 pts/1 0:00 grep
smon oracle 3698866 1 0 Feb 17 - 16:03 ora_smon_XXX # svmon -P 3698866 |
grep 3698866 3698866 oracle 5917562 65586 4872321 5896659 Y N N # echo
"5917562*4096/1024/1024" | bc 23115
Ou seja, a SGA do banco está setado com 23Gb.
Para pegar o pmon proceda da mesma forma.
Observação: o pmon e smon pode acessar a mesma área que está em shared. sendo assim confirme com o DBA. ;)
Mais informações: man svmon
Comments !