Monitoramento de processos no Solaris

Monitoramento de processos no Solaris
$ prstat -t
NPROC USERNAME  SWAP   RSS MEMORY      TIME  CPU
164 oracle   5446M 5445M   8.3%  13:47:50 1.6%
52 root      576M  728M   1.1%  42:29:50 1.0%
 1 noaccess  300M  273M   0.4%   0:20:54 0.0%
 1 smmsp    2192K 9912K   0.0%   0:00:06 0.0%
 1 nagios    584K 4256K   0.0%   0:01:54 0.0%
 6 daemon   8360K   11M   0.0%   0:12:39 0.0%

Total: 225 processes, 839 lwps, load averages: 1.68, 1.58, 1.46

Acima está a saída do prstatcomando no Solaris Box que foi Oracle 11ginstalado. A RAM na caixa do Solaris, 64GBno entanto, o processo do Oracle parece estar trocando 5.5 GB, isso é normal? Agradeceríamos qualquer recomendação sobre como obter informações mais refinadas!

Responder1

prstatdefine SWAP como:

SWAP

    The sum of swap reservations of the associated processes
    for  each  user,  project,  task,  or  zone. This counts
    shared memory only once for each user, project, task, or
    zone.  Swap  is  reserved when anonymous memory is allo-
    cated or files are mapped private. The value of swap  is
    expressed  in kilobytes (K), megabytes (M), or gigabytes
    (G).

(deprstat(1M) no Solaris 10, cf.Abra o Solaris prstat)

Basicamente, isso significa que o valor inclui memória que ainda não foi acessada, mas está mapeada no espaço de endereço de um processo. Essa memória pode ser usada no futuro e, portanto, pode ser trocada (ou seja, gravada em uma partição swap de verdade). Assim, ao criar o mapeamento inicial, o Solaris prstat os conta como SWAP.

Isso não significa que essa quantidade de memória seja realmente gravada na partição SWAP ou necessariamente será gravada nela.

Essas reservas de troca, memória anônima e arquivos mapeados fazem parte domemória virtualsistema Solaris.

Observe também que você está usando -t- portanto, o valor mostrado no seu exemplo não é o de um processo oracle, mas o valor agregado de todos os processos em execução sob user oracle.

Usar alguma porta Solaris topfornece informações mais úteis, ou seja, um valor SIZE (ou VMEM) e um valor RES (ou RSS). VMEM inclui todas as páginas de memória virtual e RSS é o tamanho residente. Com isso a relação VMEM >= RSS é verdadeira (para prstat RSS pode ser > SWAP, ou seja, RSS não está incluído no SWAP).

Se você estiver preocupado com a atividade real de troca, poderá usar algo como vmstat.

informação relacionada