Analise de consumo de memória no AIX por usuário ou Processo + Dica do Oracle

Posted by kairo on Sun 06 April 2008

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 !