tamanho do processo em UNIX

votos
23

O que é a maneira correta para obter o tamanho do processo em Solaris, HP-UXe AIX? Devemos usar topou ps -o vszou algo mais?

Publicado 04/08/2008 em 08:34
fonte usuário
Em outras línguas...                            


4 respostas

votos
17

As definições exatas de vsize, rss, rprvt, rshrd, e outras abreviações obscuras com aparência pode variar de OS para OS. As páginas de manual para os tope pscomandos terão algum tipo de descrição, mas todas essas descrições são simplificou muito (ou são baseados em implementações de kernel de longo extintos).
"Tamanho do processo" como um conceito é extremamente difícil de definir, no caso geral. Respostas em casos específicos dependem fortemente da implementação real de gerenciamento de memória no sistema operacional, e raramente são tão satisfatório quanto o conceito arrumado "tamanho do processo" que existe nas mentes da maioria dos usuários (e a maioria dos desenvolvedores).

Por exemplo, nenhum desses números (nem, provavelmente, qualquer combinação deles) pode ser usado para dizer exatamente quantas tais processos podem ser executados ao mesmo tempo em uma determinada quantidade de memória livre. Mas, realmente, a sua melhor aposta é para vir para ele a partir o efeito: por que você quer este número, e que você vai usá-lo? Dado que a informação, eu acho que você vai obter respostas mais úteis.

Respondeu 05/08/2008 em 02:07
fonte usuário

votos
5

No Solaris, você pode obter informações detalhadas sobre o uso de memória de um processo com o pmapcomando. Em particular, pmap -x <pid>mostra o quanto da memória de um processo é compartilhado e quanto é usado especificamente por esse processo. Isso é útil para trabalhar fora o uso de memória "marginal" de um processo - com esta técnica você pode evitar bibliotecas compartilhadas dupla contagem.

Respondeu 20/09/2008 em 06:37
fonte usuário

votos
3

Sim, você está certo para bloquear no VSZ.

ps ulhe dará a VSZ e RSS, que são o tamanho da memória virtual e tamanho do conjunto residente. O RSS é a quantidade de memória física foi alocada para o processo, eo VSZ é o tamanho da memória virtual do processo. Se você tem várias cópias de um programa em execução, uma grande quantidade de memória no VSZ será compartilhada entre esses processos.

Respondeu 04/08/2008 em 09:21
fonte usuário

votos
2

Eu resumiu o tamanho do conjunto residente para todos os processos como este (como root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Respondeu 20/03/2014 em 15:59
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more