[comment]: # translation:outdated

[comment]: # ({7534a4a0-7534a4a0})
# 8 Observações sobre o parâmetro memtype em itens proc.mem

[comment]: # ({/7534a4a0-7534a4a0})

[comment]: # ({2840c113-2840c113})
#### 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.

[comment]: # ({/2840c113-2840c113})

[comment]: # ({cb461694-04a03696})
#### AIX

Consulte os valores suportados para o parâmetro 'memtype' no AIX na tabela.

|Valor suportado|Descrição|Fonte na estrutura procentry64|Tenta ser compatível com|
|---------------|-----------|---------- ----------|---------------------------|
|vsize ^[1](proc_mem_notes#footnotes)^|Tamanho da memória virtual|pi\_size|<|
|pmem|Porcentagem de memória real|pi\_prm|ps -o pmem|
|rss|Tamanho do conjunto residente|pi\_trss + pi\_drss|ps -o rssize|
|tamanho|Tamanho do processo (código + dados)|pi\_dvm|"ps gvw" coluna SIZE|
|dsize|Tamanho dos dados|pi\_dsize|<|
|tsize|Tamanho do texto (código)|pi\_tsize|coluna "ps gvw" TSIZ|
|sdsize|Tamanho dos dados da biblioteca compartilhada|pi\_sdsize|<|
|drss|Tamanho do conjunto residente de dados|pi\_drss|<|
|trss|Tamanho do conjunto residente de texto|pi\_trss|<|

[comment]: # ({/cb461694-04a03696})

[comment]: # ({b262d0c5-59b8a022})
Notas para AIX:

1. Ao escolher parâmetros para a chave de item proc.mem[] no AIX,tente especificar critérios de seleção de processos estreitos. Caso contrário, há o risco de incluir processos indesejados no resultado de proc.mem[].

Exemplo:
```
$ zabbix_agentd -t proc.mem[,,,NonExistingProcess,rss]
proc.mem[,,,NonExistingProcess,rss]           [u|2879488]
```

Este exemplo mostra como especificar apenas o parâmetro da linha de comando (expressão regular para correspondência) resulta na auto-contabilização do agente Zabbix - provavelmente não é o que você deseja.

[comment]: # ({/b262d0c5-59b8a022})

[comment]: # ({new-7ade81f5})
2. Do not use "ps -ef" to browse processes - it shows only non-kernel processes. Use "ps -Af" to see all processes which will be seen by Zabbix agent.

3. Let's go through example of 'topasrec' how Zabbix agent proc.mem[] selects processes.

```
\$ ps -Af | grep topasrec
root 10747984        1   0   Mar 16      -  0:00 /usr/bin/topasrec  -L -s 300 -R 1 -r 6 -o /var/perf daily/ -ypersistent=1 -O type=bin -ystart_time=04:08:54,Mar16,2023
```

proc.mem[] has arguments:

```
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
```

[comment]: # ({/new-7ade81f5})

[comment]: # ({new-2cc10070})

The 1st criterion is a process name (argument <name>). In our example Zabbix agent will see it as 'topasrec'. In order to match, you need to either specify 'topasrec' or to leave it empty.
The 2nd criterion is a user name (argument <user>). To match, you need to either specify 'root' or to leave it empty.
The 3rd criterion used in process selection is an argument <cmdline>. Zabbix agent will see its value as '/usr/bin/topasrec -L -s 300 -R 1 -r 6 -o /var/perf/daily/ -ypersistent=1 -O type=bin -ystart_time=04:08:54,Mar16,2023'. To match, you need to either specify a regular expression which matches this string or to leave it empty.

Arguments <mode> and <memtype> are applied after using the three criteria mentioned above. 

[comment]: # ({/new-2cc10070})

[comment]: # ({cbe0a966-8a700330})
#### 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|

[comment]: # ({/cbe0a966-8a700330})

[comment]: # ({f43d1dfd-f43d1dfd})
#### Linux

Consulte os valores suportados para o parâmetro 'memtype' no Linux na tabela.

|Valor suportado|Descrição|Fonte no arquivo /proc/<pid>/status|
|---------------|-----------|---------- ------------------|
|vsize ^[1](proc_mem_notes#footnotes)^|Tamanho da memória virtual|VmSize|
|pmem|Porcentagem de memória real|(VmRSS/total\_memory) \* 100|
|rss|Tamanho do conjunto residente|VmRSS|
|dados|Tamanho do segmento de dados|VmData|
|exe|Tamanho do segmento de código|VmExe|
|hwm|Tamanho do conjunto residente de pico|VmHWM|
|lck|Tamanho da memória bloqueada|VmLck|
|lib|Tamanho das bibliotecas compartilhadas|VmLib|
|pico|Tamanho da memória virtual de pico|VmPeak|
|pin|Tamanho das páginas fixadas|VmPin|
|pte|Tamanho das entradas da tabela de páginas|VmPTE|
|size|Tamanho do código do processo + dados + segmentos de pilha|VmExe + VmData + VmStk|
|stk|Tamanho do segmento de pilha|VmStk|
|swap|Tamanho do espaço de troca usado|VmSwap|

Notas para Linux:

1. Nem todos os valores 'memtype' são suportados por kernels Linux mais antigos. Para
    Por exemplo, kernels Linux 2.4 não suportam `hwm`, `pin`, `peak`,
    valores `pte` e `swap`.
2. Percebemos que o automonitoramento do agente Zabbix ativo
    processo de verificação com `proc.mem[...,...,...,...,data]` mostra um valor
    que é 4 kB maior do que o relatado pela linha `VmData` no agente
    arquivo /proc/<pid>/status. No momento da auto-medição, o
    segmento de dados do agente aumenta em 4 kB e então retorna ao
    tamanho anterior.

[comment]: # ({/f43d1dfd-f43d1dfd})

[comment]: # ({96fd9f28-96fd9f28})
#### 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<br>Que pode ser subestimado, conforme descrição do rss em "man ps".|pr\_rssize |ps -o rss |

[comment]: # ({/96fd9f28-96fd9f28})

[comment]: # ({e0ce8129-e0ce8129})
##### Notas de rodapé

^**1**^ Valor padrão.

[comment]: # ({/e0ce8129-e0ce8129})
