Áú»¢¶Ä²©

8 Observa??es sobre o par?metro memtype em itens proc.mem

Vis?o geral

O par?metro memtype ¨¦ suportado no Linux, AIX, FreeBSD, e Solaris.

Os tr¨ºs tipos mais comuns do 'memtype' s?o suportados em todas as plataformas: pmem, rss e vsize. Adicionalmente, tipos espec¨ªficos de cada plataforma ser?o nelas suportados.

AIX

Os valores a seguir s?o suportados para o par?metro 'memtype' nesta plataforma.

Valor suportado Descri??o Fonte em estrutura procentry64 Tentativas para compatibilizar
vsize (( - valor padr?o)) Tamanho da mem¨®ria virtual pi_size
pmem Percentual da mem¨®ria real pi_prm ps -o pmem
rss Configura??o de tamanho residente pi_trss + pi_drss ps -o rssize
size Tamanho do processo (c¨®digo + dados) pi_dvm "ps gvw" SIZE column
dsize Tamanho do dado pi_dsize
tsize Tamanho de texto (c¨®digo) pi_tsize "ps gvw" TSIZ column
sdsize Tamanho do dado na biblioteca compartilhada pi_sdsize
drss Tamanho do conjunto residente de dados pi_drss
trss Tamanho do conjunto residente de texto pi_trss

FreeBSD

Os valores a seguir s?o suportados para o par?metro 'memtype' nesta plataforma.

Valor suportado Descri??o Fonte em estrutura kinfo_proc Tentativas para compatibilizar
vsize Tamanho da mem¨®ria virtual kp_eproc.e_vm.vm_map.size or ki_size ps -o vsz
pmem Percentual da mem¨®ria real calculado a partir do rss ps -o pmem
rss Tamanho do conjunto residente kp_eproc.e_vm.vm_rssize or ki_rssize ps -o rss
size (( - valor padr?o)) Tamanho do processo (c¨®digo + dados + pilha) tsize + dsize + ssize
tsize Tamanho do texto de c¨®digo kp_eproc.e_vm.vm_tsize or ki_tsize ps -o tsiz
dsize Tamanho dos dado kp_eproc.e_vm.vm_dsize or ki_dsize ps -o dsiz
ssize Tamanho da pilha kp_eproc.e_vm.vm_ssize or ki_ssize ps -o ssiz

Linux

Os valores a seguir s?o suportados para o par?metro 'memtype' nesta plataforma.

Valor suportado Descri??o Fonte em /proc/<pid>/status file
vsize (( - valor padr?o)) Tamanho da mem¨®ria virtual VmSize
pmem Percentual da mem¨®ria real (VmRSS/total_memory) * 100
rss Tamanho do conjunto residente VmRSS
data Tamanho do segmento de dados VmData
exe Tamanho do segmento de c¨®digo VmExe
hwm Pico de tamanho do conjunto residente VmHWM
lck Tamanho da mem¨®ria bloqueada VmLck
lib Tamanho das bibliotecas compartilhadas VmLib
peak Pico de tamanho de mem¨®ria virtual VmPeak
pin Tamanho das p¨¢ginas pinadas VmPin
pte Tamanho das entradas na tabela de p¨¢ginas VmPTE
size Tamanho do c¨®digo de processo + dados + pilha de segmentos VmExe + VmData + VmStk
stk Tamanho da pilha de segmentos VmStk
swap Tamanho do espa?o de swap utilizado VmSwap

Observa??es para o Linux:

  1. Nem todo valor de 'memtype' ser¨¢ suportado em kernels antigos do Linux. Por exemplo, o kernel Linux 2.4 n?o suporta hwm, pin, peak, pte e swap.
  2. N¨®s temos informa??es que o auto-monitoramento do Áú»¢¶Ä²© Agent ativo identificou processos com proc.mem[...,...,...,...,data] mostrando que o valor ¨¦ 4kB maior do que o apresentado em VmData no arquivo de status do agente /proc/<pid>/status . No momento do auto-monitoramento o segmento de dados do agente aumentou em 4kB, retornando em seguida para o tamanho anterior.

Solaris

Os valores a seguir s?o suportados para o par?metro 'memtype' nesta plataforma.

Valor suportado Descri??o Fonte em estrutura psinfo Tentativas para compatibilizar
vsize (( - valor padr?o)) Tamanho da imagem do processo pr_size ps -o vsz
pmem Percentual da mem¨®ria real pr_pctmem ps -o pmem
rss Tamanho do conjunto residente
Que pode ser subestimado, conforme descri??o do rss em "man ps".
pr_rssize ps -o rss
Footnotes

1 Default value.