[comment]: # translation:outdated

[comment]: # ({new-098d0431})
# 8 Notes on memtype parameter in proc.mem items

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

[comment]: # ({2840c113-2840c113})
#### Aperçu

Le paramètre **memtype** est pris en charge sur les plateformes Linux, AIX, FreeBSD et Solaris.

Trois valeurs communes de 'memtype' sont prises en charge sur toutes ces plates-formes : `pmem`, `rss` et `vsize`. De plus, les valeurs 'memtype' spécifiques à la plate-forme sont prises en charge sur certaines plates-formes.

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

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

Vous trouverez les valeurs prises en charge pour le paramètre 'memtype' sous AIX dans le tableau suivant.

|Valeur prise en charge|Description|Source dans la structure procentry64|Essaye d'être compatible avec|
|--|------|--|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Taille de la mémoire virtuelle|pi\_size| |
|pmem|Pourcentage de mémoire réelle|pi\_prm|ps -o pmem|
|rss|Taille de l'ensemble résident|pi\_trss + pi\_drss|ps -o rssize|
|size|Taille du processus (code + données)|pi\_dvm|"ps gvw" SIZE column|
|dsize|Taille des données|pi\_dsize|<|
|tsize|Taille du texte (code)|pi\_tsize|"ps gvw" Colonne TSIZ|
|sdsize|Taille des données de la bibliothèque partagée|pi\_sdsize|<|
|drss|Taille de l'ensemble résident des données|pi\_drss| |
|trss|Taille de l'ensemble résident du texte|pi\_trss| |

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

[comment]: # ({new-d1d61498})

Notes for AIX:

1. When choosing parameters for proc.mem[] item key on AIX, try to specify narrow process selection criteria. Otherwise there is a risk of getting unwanted processes counted into proc.mem[] result.

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

This example shows how specifying only command line (regular expression to match) parameter results in Zabbix agent self-accounting - probably not what you want.

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

[comment]: # ({new-a40c9721})
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-a40c9721})

[comment]: # ({new-9ec5e875})

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-9ec5e875})

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

Vous trouverez les valeurs prises en charge pour le paramètre 'memtype' sous FreeBSD dans le tableau suivant.

|Valeur prise en charge|Description|Source dans la structure kinfo\_proc|Essaye d'être compatible avec|
|--|------|--|--|
|vsize|Taille de la mémoire virtuelle|kp\_eproc.e\_vm.vm\_map.size ou ki\_size|ps -o vsz|
|pmem|Pourcentage de mémoire réelle|calculé à partir de rss|ps -o pmem|
|rss|Taille de l'ensemble résident|kp\_eproc.e\_vm.vm\_rssize ou ki\_rssize|ps -o rss|
|size ^[1](proc_mem_notes#footnotes)^|Taille du processus (code + données + pile)|tsize + dsize + ssize| |
|tsize|Taille du texte (code)|kp\_eproc.e\_vm.vm\_tsize ou ki\_tsize|ps -o tsiz|
|dsize|Taille des données|kp\_eproc.e\_vm.vm\_dsize ou ki\_dsize|ps -o dsiz|
|ssize|Taille de la pile|kp\_eproc.e\_vm.vm\_ssize ou ki\_ssize|ps -o ssiz|

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

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

Vous trouverez les valeurs prises en charge pour le paramètre 'memtype' sous Linux dans le tableau suivant.

|Valeur prise en charge|Description|Source dans le fichier /proc/<pid>/status|
|--|------|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Taille de la mémoire virtuelle|VmSize|
|pmem|Pourcentage de mémoire réelle|(VmRSS/total\_memory) \* 100|
|rss|Taille de l'ensemble résident|VmRSS|
|data|Taille du segment de données|VmData|
|exe|Taille du segment de code|VmExe|
|hwm|Taille maximale de l'ensemble résident|VmHWM|
|lck|Taille de la mémoire verrouillée|VmLck|
|lib|Taille des bibliothèques partagées|VmLib|
|peak|Taille maximale de la mémoire virtuelle|VmPeak|
|pin|Taille des pages épinglées|VmPin|
|pte|Taille des entrées de la table des pages|VmPTE|
|taille|Taille du code de processus + données + segments de pile|VmExe + VmData + VmStk|
|stk|Taille du segment de pile|VmStk|
|swap|Taille de l'espace de swap utilisé|VmSwap|

Remarques pour Linux :

1. Toutes les valeurs 'memtype' ne sont pas prises en charge par les anciens noyaux Linux. Par exemple, les noyaux Linux 2.4 ne prennent pas en charge les valeurs `hwm`, `pin`, `peak`, `pte` et `swap`.
2. Nous avons remarqué que l'autosurveillance de l'agent Zabbix actif vérifiant le processus avec `proc.mem[...,...,...,...,data]` affiche une valeur de 4 ko de plus de ce qui est indiqué par la ligne "VmData" dans le fichier de l'agent /proc/<pid>/status. Au moment de l'auto-mesure, le segment de données de l'agent augmente de 4 ko, puis revient à la taille précédente.

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

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

Voir les valeurs prises en charge pour le paramètre 'memtype' sur Solaris dans le tableau.

|Valeur supportée|Description|Source dans la structure psinfo|Essaie d'être compatible avec|
|--|------|--|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Taille de l'image du processus|pr\_size|ps -o vsz|
|pmem|Pourcentage de mémoire réelle|pr\_pctmem|ps -o pmem|
|rss|Taille de l'ensemble résident<br>Il peut être sous-estimé - voir la description rss dans "man ps".|pr\_rssize|ps -o rss|

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

[comment]: # ({e0ce8129-e0ce8129})
##### Notes de bas de page

^**1**^ Valeur par défaut.

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