7 Напомене о параметру memtype у ставкама proc.mem

Преглед

Параметар memtype је подржан на Linux, AIX, FreeBSD и Solaris платформама.

Три заједничке вредности 'memtype' су подржане на свим овим платформама: pmem, rss and vsize. Поред тога, специфично за платформу 'memtype' вредности су подржане на неким платформама.

AIX

Погледајте вредности подржане за параметар 'memtype' на AIX-у у табели.

Supported value Description Source in procentry64 structure Tries to be compatible with
vsize 1 Virtual memory size pi_size
pmem Проценат стварне меморије pi_prm ps -o pmem
rss Величина резидентног скупа pi_trss + pi_drss ps -o rssize
size Величина процеса (код + подаци) pi_dvm "ps gvw" SIZE column
dsize Величина података pi_dsize
tsize Величина текста (кода) pi_tsize "ps gvw" TSIZ column
sdsize Величина података из дељене библиотеке pi_sdsize
drss Величина резидентног скупа података pi_drss
trss Величина резидентног скупа текста pi_trss

Напомене за AIX:

  1. Када бирате параметре за кључ ставке proc.mem[] на AIX-у, покушајте да наведете уске критеријуме за избор процеса. У супротном постоји ризик да се нежељени процеси урачунају у резултат proc.mem[].

Пример:

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

Овај пример показује како навођење само параметра командне линије (регуларни израз за поклапање) резултира саморачуном Zabbix агента – вероватно није оно што желите.

  1. Немојте користити "ps -ef" за тражење процеса - он приказује само процесе који нису језгро. Користите "ps -Af" да видите све процесе које ће видети Zabbix агент.

  2. Хајде да прођемо кроз пример 'topasrec' како Zabbix агент proc.mem[] бира процесе.

$ ps -Af | grep topasrec
       root 1074798410Mar 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[] има аргументе:

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

Први критеријум је назив процеса (аргумент <name>). У нашем примеру Zabbix агент ће га видети као 'topasrec'. Да би се поклапало, морате или да наведете 'topasrec' или да га оставите празним. Други критеријум је корисничко име (аргумент <user>). Да би се подударало, морате или да наведете 'root' или да га оставите празним. Трећи критеријум који се користи у избору процеса је аргумент <cmdline>. Zabbix агент ће видети своју вредност као '/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'. Да би се поклапало, морате или да наведете регуларни израз који одговара овом стрингу или да га оставите празним.

Аргументи <mode> и <memtype> се примењују након коришћења три горе поменута критеријума.

FreeBSD

Погледајте вредности подржане за параметар 'memtype' на FreeBSD-у у табели.

Supported value Description Source in kinfo_proc structure Tries to be compatible with
vsize Величина виртуелне меморије kp_eproc.e_vm.vm_map.size or ki_size ps -o vsz
pmem Проценат стварне меморије израчунато из rss ps -o pmem
rss Величина сталног скупа kp_eproc.e_vm.vm_rssize or ki_rssize ps -o rss
size 1 Величина процеса (код + подаци + стек) tsize + dsize + ssize
tsize Величина текста (кода) kp_eproc.e_vm.vm_tsize or ki_tsize ps -o tsiz
dsize Величина података kp_eproc.e_vm.vm_dsize or ki_dsize ps -o dsiz
ssize Величина стека kp_eproc.e_vm.vm_ssize or ki_ssize ps -o ssiz

Linux

Погледајте вредности подржане за параметар 'memtype' на Linux-у у табели.

Supported value Description Source in /proc/<pid>/status file
vsize 1 Величина виртуелне меморије VmSize
pmem Проценат стварне меморије (VmRSS/total_memory) * 100
rss Величина резидентног скупа VmRSS
data Величина сегмента података VmData
exe Величина сегмента кода VmExe
hwm Највећа величина скупа меморије VmHWM
lck Величина закључане меморије VmLck
lib Величина дељених библиотека VmLib
peak Максимална величина виртуелне меморије VmPeak
pin Величина закачених страница VmPin
pte Величина уноса у табели страница VmPTE
size Величина кода процеса + подаци + сегменти стека VmExe + VmData + VmStk
stk Величина сегмента стека VmStk
swap Величина коришћеног swap простора VmSwap

Напомене за Linux:

  1. Не подржавају све вредности 'memtype' старије вредности Linux кернела.На пример, језгра Linux 2.4 не подржавају hwm, pin, peak, pte и swap вредности.
  2. Приметили смо да је самопраћење активног процеса провере Zabbix агента помоћу proc.mem[...,...,...,...,data] приказује вредност која је за 4 kB веће него што је пријављено линијом VmData у датотеци /proc/<pid>/status агента. У време самопраћења сегмент података агента се повећава за 4 kB и затим се враћа на претходну величину.

Solaris

Погледајте вредности подржане за параметар 'memtype' на Solaris-у у табели.

Supported value Description Source in psinfo structure Tries to be compatible with
vsize 1 Величина слике процеса pr_size ps -o vsz
pmem Проценат стварне меморије pr_pctmem ps -o pmem
rss Величина резидентног скупа
Можда је потцењена - погледајте опис rss-а у "man ps".
pr_rssize ps -o rss
Фусноте

1 Подразумевана вредност.