7 Piezīmes par memtype parametru proc.mem vienumos

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.

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

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.

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

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

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

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

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 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
Tas var būt novērtēts par zemu — skatiet rss aprakstu sadaļā "man ps".
pr_rssize ps -o rss
Piezīmes

1 Noklusējuma vērtība.