This is a translation of the original English documentation page. Help us make it better.

9 Opmerkingen over memtype-parameter in proc.mem-items

Overzicht

De parameter memtype wordt ondersteund op Linux, AIX, FreeBSD en Solaris-platforms.

Op al deze worden drie algemene waarden van 'memtype' ondersteund platforms: pmem, rss en vsize. Bovendien, platform-specifiek 'memtype'-waarden worden op sommige platforms ondersteund.

AIX

Zie de ondersteunde waarden voor de parameter 'memtype' op AIX in de tabel.

Ondersteunde waarde Beschrijving Bron in procentry64-structuur Probeer compatibel te zijn met
vsize 1 Virtuele geheugengrootte pi_size
pmem Percentage van echt geheugen pi_prm ps -o pmem
rss Ingezetene set grootte pi_trss + pi_drss ps -o rssize
size Grootte van proces (code + data) pi_dvm "ps gvw" Kolom SIZE
dsize Gegevensgrootte pi_dsize
tsize Tekst (code) grootte pi_tsize "ps gvw" TSIZ-kolom
sdsize Gegevensgrootte van gedeelde bibliotheek pi_sdsize
drss Gegevens resident set grootte pi_drss
trss Text resident set size pi_trss

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.

  1. 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.

  2. 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>]

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.

FreeBSD

Zie de waarden die worden ondersteund voor de parameter 'memtype' op FreeBSD in de tabel.

Ondersteunde waarde Beschrijving Bron in kinfo_proc structuur Probeer compatibel te zijn met
vsize Virtuele geheugengrootte kp_eproc.e_vm.vm_map.size of ki_size ps -o vsz
pmem Percentage van echt geheugen berekend uit rss ps -o pmem
rss Ingezetene set grootte kp_eproc.e_vm.vm_rssize of ki_rssize ps -o rss
size 1 Grootte van proces (code + data + stapel) tsize + dsize + ssize
tsize Tekst (code) size kp_eproc.e_vm.vm_tsize of ki_tsize ps -o tsiz
dsize Gegevensgrootte kp_eproc.e_vm.vm_dsize of ki_dsize ps -o dsiz
ssize Stapelgrootte kp_eproc.e_vm.vm_ssize of ki_ssize ps -o ssiz

Linux

Zie de waarden die worden ondersteund voor de parameter 'memtype' op Linux in de tabel.

Ondersteunde waarde Beschrijving Bron in /proc/<pid>/statusbestand
vsize 1 Virtuele geheugengrootte VmSize
pmem Percentage van echt geheugen (VmRSS/total_memory) * 100
rss Ingezetene setgrootte VmRSS
data Grootte van gegevenssegment VmData
exe Grootte van codesegment VmExe
hwm Piek resident setgrootte VmHWM
lck Grootte van vergrendeld geheugen VmLck
lib Grootte van gedeelde bibliotheken VmLib
peak Piekgrootte virtueel geheugen VmPeak
pin Grootte van vastgezette pagina's VmPin
pte Grootte van paginatabelitems VmPTE
size Grootte van procescode + data + stacksegmenten VmExe + VmData + VmStk
stk Grootte van stapelsegment VmStk
swap Grootte van gebruikte swapruimte VmSwap

Opmerkingen voor Linux:

  1. Niet alle 'memtype'-waarden worden ondersteund door oudere Linux-kernels. Voor Linux 2.4-kernels ondersteunen bijvoorbeeld geen hwm, pin, peak, pte en swap waarden.
  2. We hebben gemerkt dat zelfcontrole van de Zabbix-agent actief is check proces met proc.mem[...,...,...,...,data] toont een waarde dat is 4 kB groter dan gerapporteerd door VmData regel in de agent's /proc/<pid>/statusbestand. Op het moment van zelfmeting is de het gegevenssegment van de agent neemt toe met 4 kB en keert dan terug naar de vorige maat.

Solaris

Zie de ondersteunde waarden voor de parameter 'memtype' op Solaris in de tabel.

Ondersteunde waarde Beschrijving Bron in psinfo-structuur Probeer compatibel te zijn met
vsize 1 Grootte van procesafbeelding pr_size ps -o vsz
pmem Percentage van echt geheugen pr_pctmem ps -o pmem
rss Ingezetene setgrootte
Het kan worden onderschat - zie de rss-beschrijving in "man ps".
pr_rssize ps -o rss
Voetnoten

1 Standaardwaarde.