8 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 | |
Notities voor AIX:
- Bij het kiezen van parameters voor de item-sleutel proc.mem[] op AIX, probeer specifieke criteria te specificeren voor de selectie van processen. Anders bestaat er een risico dat ongewenste processen worden meegeteld in het resultaat van proc.mem[].
Voorbeeld:
$ zabbix_agentd -t proc.mem[,,,NonExistingProcess,rss]
proc.mem[,,,NonExistingProcess,rss] [u|2879488]
Dit voorbeeld laat zien hoe het specificeren van alleen de opdrachtregel (reguliere expressie om overeen te komen) parameter resulteert in zelfregistratie van de Zabbix-agent - waarschijnlijk niet wat u wilt.
-
Gebruik "ps -ef" niet om processen te bekijken - dit toont alleen niet-kernelprocessen. Gebruik "ps -Af" om alle processen te zien die door de Zabbix-agent worden waargenomen.
-
Laten we het voorbeeld van 'topasrec' doornemen, hoe de Zabbix-agent proc.mem[] processen selecteert.
$ ps -Af | grep topasrec
root 10747984 1 0 16 mrt - 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 mrt 2023
proc.mem[] heeft argumenten:
proc.mem[<naam>,<gebruiker>,<modus>,<opdrachtregel>,<geheugentype>]
Het eerste criterium is de naam van een proces (argument <naam>). In ons voorbeeld zal de Zabbix-agent dit zien als 'topasrec'. Om overeen te komen, moet je ofwel 'topasrec' specificeren of het leeg laten. Het tweede criterium is een gebruikersnaam (argument <gebruiker>). Om overeen te komen, moet je ofwel 'root' specificeren of het leeg laten. Het derde criterium dat wordt gebruikt bij processelectie, is een argument <opdrachtregel>. De Zabbix-agent ziet de waarde als '/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 mrt 2023'. Om overeen te komen, moet je ofwel een reguliere expressie specificeren die deze string overeen laat komen, of het leeg laten.
Argumenten <modus> en <geheugentype> worden toegepast na het gebruik van de bovengenoemde drie criteria.
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:
- Niet alle 'memtype'-waarden worden ondersteund door oudere Linux-kernels. Voor
Linux 2.4-kernels ondersteunen bijvoorbeeld geen
hwm,pin,peak,pteenswapwaarden. - 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 doorVmDataregel 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.