Como medir o uso de memória do processo Solaris?

11

Como verificar quanta memória um processo solaris consome? Gostaria tanto do espaço total de endereços alocado quanto da quantidade residente na RAM.

Tentei somar a saída do pmap com algum script awk, mas foi um truque feio. Existe uma maneira melhor de criar um script?

Tadeusz A. Kadłubowski
fonte

Respostas:

18
  1. prstat -s rss

    '-s' classifica a saída prstat pela coluna rss (consulte a página do manual para outras colunas). Tente também a opção '-a' para uma acumulação por usuário.

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

    Os 10 principais consumidores de RAM. '-o pmem' exibe a porcentagem de memória residente, isto é, a 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 o pgrep para acumular por usuário, padrão, ... por exemplo:

    for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
    

fonte
3

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

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

É bem direto. O formato do tamanho do residente é rss.

Tadeusz A. Kadłubowski
fonte
2
prstat

Ou talvez um script dtrace?

pyhimys
fonte
Prstat é uma escolha óbvia para monitoramento interativo.
Tadeusz A. Kadłubowski 16/10/09
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
Artur Pędziwilk
fonte
0

Meu $ .02 como o Zenoss Community Manager ...

O Zenoss pode monitorar a integridade de todos os seus dispositivos e servidores de rede, bem como os processos em execução nos seus servidores. Um dos membros da nossa comunidade enviou recentemente o Monitoramento de processo para Solaris via SNMP: http://community.zenoss.org/docs/DOC-5882

mray
fonte