Total de itens RSS muito maiores que a memória física + troca em solaris

1

O total de todos os valores rss de processos ativos (o estado é S ou O ) pode ser sempre maior que a memória física total + troca?

Por memória física, refiro-me ao resultado de prtdiag | grep Memory

E tamanho do swap, refiro-me ao resultado de swap -l .

    
por user55570 23.06.2015 / 01:54

1 resposta

3

Facilmente.

A memória física compartilhada entre processos - seja memória compartilhada do IPCS ou parte da memória física mmap() 'd usada por objetos compartilhados - será contada no RSS de cada processo que mapeia essa memória em seu espaço de endereço. Não há uma maneira fácil de explicar isso quando o ponto de partida para contar o uso de memória é enumerar processos - você teria que fazer um mapeamento virtual para físico para todas as páginas virtuais de cada processo e eliminar duplicatas enquanto espera que os mapeamentos de memória examinados não mudaram enquanto os totais estavam sendo calculados.

Um bom exemplo disso é um servidor de banco de dados Oracle com um SGA grande - que é implementado no Solaris usando a memória compartilhada IPCS. Se 20 processos mapearem um SGA de memória compartilhada de 32 GB, isso contribuiria com 640 GB para a soma do RSS dos processos, mesmo que apenas 32 GB de RAM sejam usados.

    
por 23.06.2015 / 12:48