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:
- 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.
-
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.
-
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>]
- 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.
- 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.
- 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:
- Ne visas 'memtype' vērtības atbalsta vecākas Linux kodola versijas. Piemēram, Linux 2.4 kodoli neatbalsta
hwm,pin,peak,pteunswapvērtības. - 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ņoVmDatarinda 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.