[comment]: # ({4bf3e4ff-098d0431})
# 7 Notes sobre el paràmetre memtype dels elements proc.mem

[comment]: # ({/4bf3e4ff-098d0431})

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

El paràmetre **memtype** s'admet a les plataformes Linux, AIX, FreeBSD i Solaris.

S'admeten tres valors comuns de 'memtype' en qualsevol d'aquestes plataformes: `pmem`, `rss` et `vsize`. A més, els valors 'memtype' específics de la plataforma són admesos en algunes plataformes.

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

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

En aquesta taula hi trobareu els valors admesos per el paràmetre 'memtype' sota AIX.

|Valor admès|Descripció|Font a l'estructura procentry64|Intents per ésser compatible|
|--|------|--|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Mida de la memòria virtual|pi\_size| |
|pmem|Percentatge de memòria real|pi\_prm|ps -o pmem|
|rss|Mida del conjunt de residents|pi\_trss + pi\_drss|ps -o rssize|
|size|Mida dels processos (codi + dades)|pi\_dvm|"ps gvw" SIZE column|
|dsize|Mida de dades|pi\_dsize|<|
|tsize|Mida del text (codi)|pi\_tsize|"ps gvw" Colonne TSIZ|
|sdsize|Mida de les dades de la biblioteca compartida|pi\_sdsize|<|
|drss|Mida del conjunt de residents de dades|pi\_drss| |
|trss|Mida del conjunt de residents de text|pi\_trss| |

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

[comment]: # ({b262d0c5-cc0df248})
Notes per AIX:

1. Quan trieu paràmetres per a la clau d'element proc.mem[] a l'AIX, proveu d'especificar criteris de selecció de processos restringits. En cas contrari, hi ha el risc de tindre processos no desitjats al resultat de proc.mem[].

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

Aquest exemple mostra com especificar només un paràmetre de línia de comandes (expressió regular que coincideixi) resulta en l'autocomptabilitat de l'agent Zabbix; que probablement sigui el que no volem.

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

[comment]: # ({87cd17df-14c4cc2b})
2. No empreu "ps -ef" per explorar processos: només ensenya processos que no són del nucli. Empreu "ps -Af" per veure tots els processos que veurà l'agent Zabbix.

3. Veieu un exemple de 'topasrec' com l'agent Zabbix proc.mem[] tria els processos.

```
$ 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, 16 de març de 2023
```

proc.mem[] té arguments:

```
proc.mem[<nom>,<usuari>,<mode>,<línia de cmd>,<tipus mem>]
```

[comment]: # ({/87cd17df-14c4cc2b})

[comment]: # ({3fe2ad6d-0be32659})
El primer criteri és un nom de procés (argument <nom>). Al nostre exemple, l'agent de Zabbix el veurà com a "topasrec". Per fer-lo coincidir, hem d'especificar "topasrec" o deixar-lo buit.
El segon criteri és un nom d'usuari (argument <usuari>). Per fer-lo coincidir, hem d'especificar "arrel" o deixar-lo buit.
El tercer criteri emprat en la tria del procés és un argument <cmdline>. L'agent de Zabbix veurà el seu valor com a "/usr/bin/topasrec -L -s 300 -R 1 -r 6 -o /var/perf/daily/ -ypersistent=1 -O type=bin -ystart_time=04:08:54, 16 de març de 2023'. Per fer-lo coincidir, hem d'especificar una expressió regular que coincideixi amb aquesta cadena o bé deixar-la buida.

Els arguments <mode> i <memtype> s'apliquen després d'emprar els tres criteris esmentats anteriorment.

[comment]: # ({/3fe2ad6d-0be32659})

[comment]: # ({c2004450-8a700330})
#### FreeBSD

A la següent taula hi trobareu els valors admesos per al paràmetre 'memtype'.

|Valor admès|Descripció|Font a l'estructura kinfo\_proc|Intents per ésser compatible|
|--|------|--|--|
|vsize|Mida de la memòria virtual|kp\_eproc.e\_vm.vm\_map.size ou ki\_size|ps -o vsz|
|pmem|Percentatge de la memòria real|calculat a partir de rss|ps -o pmem|
|rss|Mida del conjunt de residents|kp\_eproc.e\_vm.vm\_rssize ou ki\_rssize|ps -o rss|
|size ^[1](proc_mem_notes#footnotes)^|mida dels processos (codi + dades + pila)|tsize + dsize + ssize| |
|tsize|Mida del text (codi)|kp\_eproc.e\_vm.vm\_tsize ou ki\_tsize|ps -o tsiz|
|dsize|Mida de les dades|kp\_eproc.e\_vm.vm\_dsize ou ki\_dsize|ps -o dsiz|
|ssize|Mida de la pila|kp\_eproc.e\_vm.vm\_ssize ou ki\_ssize|ps -o ssiz|

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

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

En aquesta taula hi trobareu els valors admesos per el paràmetre 'memtype' sota Linux.

|Valor admès|Descripció|Font de l'arxiu /proc/<pid>/status|
|--|------|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Mida de la memòria virtual|VmSize|
|pmem|Percentatge de la memòria real|(VmRSS/total\_memory) \* 100|
|rss|Mida del conjunt de residents|VmRSS|
|data|Mida del segment de dades|VmData|
|exe|Mida del segment de codis|VmExe|
|hwm|Mida màxima del conjunt de residents|VmHWM|
|lck|Mida de la memòria blocada|VmLck|
|lib|Mida de les biblioteques compartides|VmLib|
|peak|Mida màxima de la memòria virtual|VmPeak|
|pin|Mida de les pàgines fixades|VmPin|
|pte|Mida de les entrades de la taula de paginació|VmPTE|
|taille|Mida del codi de processos + dades + segments de la pila|VmExe + VmData + VmStk|
|stk|Mida del segment de pila|VmStk|
|swap|Mida de l'espai de swap emprat|VmSwap|

Notes per Linux:

1. No tots els valors 'memtype' són admesos amb kernels antics de Linux. Per exemple, el kernel de Linux 2.4 no suporta els valors `hwm`, `pin`, `peak`, `pte` i `swap`.
2. Hem vist que l'automonitoratge de l'agent Zabbix actiu verifica els processos amb `proc.mem[...,...,...,...,data]` mostra un valor de 4ko de més del que indica la línia "VmData" dins l'arxiu de l'agent /proc/<pid>/status. Al moment de l'auto-mesura, el segment de dades de l'agent augmenta fins a 4ko, i retorna la mida anterior.

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

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

En aquesta taula hi trobareu els valors admesos per el paràmetre 'memtype' sota Solaris.

|Valor admès|Descripció|Font a l'estructura psinfo|Intents per ésser compatible|
|--|------|--|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Mida de la imatge dels processos|pr\_size|ps -o vsz|
|pmem|Percentatge de la memòria real|pr\_pctmem|ps -o pmem|
|rss|Mida del conjunt resident<br>Pot ésser subestimat - veieu la descripció rss a "man ps".|pr\_rssize|ps -o rss|

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

[comment]: # ({e0ce8129-e0ce8129})
##### Notes a peu de pàgina

^**1**^ Valor per defecte.

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