Como medir o uso da memória do processo solaris?

11

Como verificar quanta memória um processo solaris consome? Eu gostaria tanto de espaço de endereço total alocado e a quantidade que é residente na RAM.

Eu tentei somar a saída pmap com algum script awk, mas foi um hack feio. Existe uma maneira melhor de criar scripts?

    
por Tadeusz A. Kadłubowski 16.10.2009 / 14:32

5 respostas

18

  1. prstat -s rss

    '- s' classifica a saída do prstat por rss coluna (veja man page para outros colunas). Experimente também a opção '-a' para um por acumulação de usuários.

  2. ps -eo pid,pmem,vsz,rss,comm | sort -rnk2 | head

    Top 10 consumidores de RAM. '-o pmem' exibe porcentagem de residentes memória, ou seja, RAM usada pelo processo.

  3. ls -lh /proc/{pid}/as

    Maneira fácil de mostrar o espaço total de endereços (vsz) de um processo. Útil em combinação com pgrep para acumular por usuário, padrão, ... por exemplo:

    for pid in 'pgrep -U webserver'; do ls -lh /proc/$pid/as; done
    
por 31.05.2010 / 13:10
3

Bem, depois de ler algumas páginas do manual, recebi o seguinte

ps -o vsz -p $PID | tail -1

É bastante simples. O formato para o tamanho do residente é rss.

    
por 16.10.2009 / 14:54
2
prstat

Ou talvez um script dtrace?

    
por 16.10.2009 / 14:53
2

Eu uso variação desta saída em scripts:

# prstat -Z 1 1 | tail -3
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE                        
220       56 1057M  413M   0.3%   1:26:49 0.1% 820f6ce5-7e37-4455-80ab-b28c5de19b43
Total: 56 processes, 169 lwps, load averages: 0.07, 0.06, 0.06
    
por 12.11.2012 / 23:06
0

Meus US $ 0,02 como o Gerenciador de Comunidade do Zenoss ...

O Zenoss pode monitorar a integridade de todos os seus dispositivos e servidores de rede, bem como dos processos executados em seus servidores. Um de nossos membros da comunidade enviou recentemente o Monitoramento de processos para o Solaris via SNMP: link

    
por 31.05.2010 / 16:34