[comment]: # ({4bf3e4ff-098d0431})
# 7 Piezīmes par memtype parametru proc.mem vienumos

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

[comment]: # ({2840c113-2840c113})
#### Pārskats

Parametrs **memtype** tiek atbalstīts Linux, AIX, FreeBSD un
Solaris platformās.

Visās šajās platformās tiek atbalstītas trīs izplatītas 'memtype'
vērtības: `pmem`, `rss` un `vsize`. Papildus tam dažās platformās tiek
atbalstītas arī platformai specifiskas 'memtype' vērtības.

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

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

Skatiet AIX atbalstītās parametra `memtype` vērtības tabulā.

|Atbalstītā vērtība|Apraksts|Avots struktūrā procentry64|Mēģina būt saderīgs ar|
|--|------|--|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Virtuālās atmiņas izmērs|pi\_size| |
|pmem|Reālās atmiņas procentuālā daļa|pi\_prm|ps -o pmem|
|rss|Rezidentās kopas izmērs|pi\_trss + pi\_drss|ps -o rssize|
|size|Procesa izmērs (kods + dati)|pi\_dvm|"ps gvw" SIZE kolonna|
|dsize|Datu izmērs|pi\_dsize|<|
|tsize|Teksta (koda) izmērs|pi\_tsize|"ps gvw" TSIZ kolonna|
|sdsize|Datu izmērs no koplietojamās bibliotēkas|pi\_sdsize|<|
|drss|Datu rezidentās kopas izmērs|pi\_drss| |
|trss|Teksta rezidentās kopas izmērs|pi\_trss| |

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

[comment]: # ({b262d0c5-cc0df248})
Piezīmes par AIX:

1. Izvēloties parametrus AIX sistēmas proc.mem[] vienuma atslēgai, mēģiniet norādīt šaurus procesu atlases kritērijus. Pretējā gadījumā pastāv risks, ka proc.mem[] rezultātā tiks iekļauti nevēlami procesi.

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

Šis piemērs parāda, ka, norādot tikai komandrindas parametru (atbilstības regulāro izteiksmju parametrs), Zabbix aģents uzskaita pats sevi — visticamāk, tas nav tas, ko vēlaties.

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

[comment]: # ({87cd17df-14c4cc2b})
2. Neizmantojiet "ps -ef" procesu pārlūkošanai — tas parāda tikai ne-kodola procesus. Izmantojiet "ps -Af", lai redzētu visus procesus, kurus redzēs Zabbix aģents.

3. Apskatīsim 'topasrec' piemēru, kā Zabbix aģents proc.mem[] atlasa procesus.

```
$ 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[] ir argumenti:

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

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

[comment]: # ({3fe2ad6d-0be32659})
1. kritērijs ir procesa nosaukums (arguments <name>). Mūsu piemērā Zabbix aģents to redzēs kā 'topasrec'. Lai tas atbilstu, jums ir vai nu jānorāda 'topasrec', vai arī jāatstāj tas tukšs.
2. kritērijs ir lietotāja vārds (arguments <user>). Lai tas atbilstu, jums ir vai nu jānorāda 'root', vai arī jāatstāj tas tukšs.
3. kritērijs, ko izmanto procesa atlasei, ir arguments <cmdline>. Zabbix aģents redzēs tā vērtību kā '/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'. Lai tas atbilstu, jums ir vai nu jānorāda regulārā izteiksme, kas atbilst šai virknei, vai arī jāatstāj tas tukšs.

Argumenti <mode> un <memtype> tiek piemēroti pēc iepriekš minēto trīs kritēriju izmantošanas.

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

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

Skatiet FreeBSD atbalstītās parametra 'memtype' vērtības tabulā.

|Atbalstītā vērtība|Apraksts|Avots struktūrā kinfo\_proc|Mēģina būt saderīgs ar|
|--|------|--|--|
|vsize|Virtuālās atmiņas izmērs|kp\_eproc.e\_vm.vm\_map.size vai ki\_size|ps -o vsz|
|pmem|Reālās atmiņas procentuālā daļa|aprēķināts no rss|ps -o pmem|
|rss|Rezidentās kopas izmērs|kp\_eproc.e\_vm.vm\_rssize vai ki\_rssize|ps -o rss|
|size ^[1](proc_mem_notes#footnotes)^|Procesa izmērs (kods + dati + steks)|tsize + dsize + ssize| |
|tsize|Teksta (koda) izmērs|kp\_eproc.e\_vm.vm\_tsize vai ki\_tsize|ps -o tsiz|
|dsize|Datu izmērs|kp\_eproc.e\_vm.vm\_dsize vai ki\_dsize|ps -o dsiz|
|ssize|Steka izmērs|kp\_eproc.e\_vm.vm\_ssize vai ki\_ssize|ps -o ssiz|

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

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

Tabulā skatiet Linux atbalstītās parametra 'memtype' vērtības.

|Atbalstītā vērtība|Apraksts|Avots failā /proc/<pid>/status|
|--|------|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Virtuālās atmiņas lielums|VmSize|
|pmem|Reālās atmiņas procentuālā daļa|(VmRSS/total\_memory) \* 100|
|rss|Rezidentās kopas lielums|VmRSS|
|data|Datu segmenta lielums|VmData|
|exe|Koda segmenta lielums|VmExe|
|hwm|Maksimālais rezidentās kopas lielums|VmHWM|
|lck|Bloķētās atmiņas lielums|VmLck|
|lib|Koplietojamo bibliotēku lielums|VmLib|
|peak|Maksimālais virtuālās atmiņas lielums|VmPeak|
|pin|Piesprausto lapu lielums|VmPin|
|pte|Lapu tabulas ierakstu lielums|VmPTE|
|size|Procesa koda + datu + steka segmentu lielums|VmExe + VmData + VmStk|
|stk|Steka segmenta lielums|VmStk|
|swap|Izmantotās maiņvietas lielums|VmSwap|

Piezīmes par Linux:

1. Ne visas 'memtype' vērtības atbalsta vecākas Linux kodola versijas. Piemēram, Linux 2.4 kodoli neatbalsta `hwm`, `pin`, `peak`, `pte` un `swap` vērtības.
2. Esam novērojuši, ka Zabbix aģents aktīvās pārbaudes procesa pašuzraudzība ar `proc.mem[...,...,...,...,data]` parāda vērtību, kas ir par 4 kB lielāka nekā tā, par kuru ziņo `VmData` rinda aģents failā /proc/<pid>/status. Pašmērījuma laikā aģents datu segments palielinās par 4 kB un pēc tam atgriežas iepriekšējā lielumā.

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

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

Tabulā skatiet Solaris sistēmā parametram 'memtype' atbalstītās vērtības.

|Atbalstītā vērtība|Apraksts|Avots psinfo struktūrā|Mēģina būt saderīgs ar|
|--|------|--|--|
|vsize ^[1](proc_mem_notes#footnotes)^|Procesa attēla izmērs|pr\_size|ps -o vsz|
|pmem|Reālās atmiņas procentuālā daļa|pr\_pctmem|ps -o pmem|
|rss|Rezidentās kopas izmērs<br>Tas var būt novērtēts par zemu — skatiet rss aprakstu sadaļā "man ps".|pr\_rssize|ps -o rss|

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

[comment]: # ({e0ce8129-e0ce8129})
##### Piezīmes

^**1**^ Noklusējuma vērtība.

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