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.
Turklāt dažās platformās tiek atbalstītas arī platformai specifiskas memtype vērtības.
AIX
Tabulā skatiet AIX parametram memtype atbalstītās vērtības.
| Atbalstītā vērtība | Apraksts | Avots procentry64 struktūrā | Mēģina nodrošināt saderību ar |
|---|---|---|---|
vsize 1 |
Virtuālās atmiņas lielums | pi_size |
|
pmem |
Reālās atmiņas procentuālā daļa | pi_prm |
ps -o pmem |
rss |
Rezidentās kopas lielums | pi_trss + pi_drss |
ps -o rssize |
size |
Procesa lielums (kods + dati) | pi_dvm |
ps gvw kolonna SIZE |
dsize |
Datu lielums | pi_dsize |
|
tsize |
Teksta (koda) lielums | pi_tsize |
ps gvw kolonna TSIZ |
sdsize |
Koplietojamās bibliotēkas datu lielums | pi_sdsize |
|
drss |
Rezidentās datu kopas lielums | pi_drss |
|
trss |
Rezidentās teksta kopas lielums | pi_trss |
|
Piezīmes par AIX:
- Izvēloties parametrus
proc.mem[]vienuma atslēgai AIX sistēmā, mēģiniet norādīt pēc iespējas precīzākus procesu atlases kritērijus. Pretējā gadījumā pastāv risks, kaproc.mem[]rezultātā tiks ieskaitīti 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 (regulāro izteiksmi, pēc kuras veikt atbilstības meklēšanu), Zabbix aģents uzskaita pats sevi, kas, visticamāk, nav tas, ko vēlaties.
-
Neizmantojiet
ps -ef, lai pārlūkotu procesus — tas parāda tikai procesus, kas nav kodola procesi. Izmantojietps -Af, lai skatītu visus procesus, kurus redzēs Zabbix aģents. -
Apskatīsim
topasrecpiemēru, lai noskaidrotu, kā Zabbix aģentsproc.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 šādi argumenti:
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
kur:
- Pirmais kritērijs ir procesa nosaukums (arguments
<name>). Mūsu piemērā Zabbix aģents to redzēs kātopasrec. Lai panāktu atbilstību, jānorādatopasrecvai arī lauks jāatstāj tukšs. - Otrais kritērijs ir lietotāja vārds (arguments
<user>). Lai panāktu atbilstību, jānorādarootvai arī lauks jāatstāj tukšs. - Trešais kritērijs, ko izmanto procesu atlasē, ir arguments <cmdline>.
Zabbix aģents tā vērtību redzēs 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 panāktu atbilstību, jānorāda regulāra izteiksme, kas atbilst šai virknei, vai arī lauks jāatstāj tukšs.
Argumenti <mode> un <memtype> tiek lietoti pēc iepriekš minēto trīs kritēriju izmantošanas.
FreeBSD
Tabulā skatiet FreeBSD atbalstītās parametra memtype vērtības.
| Atbalstītā vērtība | Apraksts | Avots kinfo_proc struktūrā | Mēģina nodrošināt saderību ar |
|---|---|---|---|
vsize |
Virtuālās atmiņas lielums | 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 lielums | kp_eproc.e_vm.vm_rssize vai ki_rssize |
ps -o rss |
size 1 |
Procesa lielums (kods + dati + steks) | tsize + dsize + ssize |
|
tsize |
Teksta (koda) lielums | kp_eproc.e_vm.vm_tsize vai ki_tsize |
ps -o tsiz |
dsize |
Datu lielums | kp_eproc.e_vm.vm_dsize vai ki_dsize |
ps -o dsiz |
ssize |
Steka lielums | kp_eproc.e_vm.vm_ssize vai ki_ssize |
ps -o ssiz |
Linux
Tabulā skatiet Linux atbalstītās memtype parametra 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 |
Fiksēto 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 mijmaiņas vietas lielums | VmSwap |
Piezīmes par Linux:
- Vecāki Linux kodoli neatbalsta visas
memtypevērtības. Piemēram, Linux 2.4 kodoli neatbalstahwm,pin,peak,pteunswapvērtības. - Esam novērojuši, ka Zabbix aģenta aktīvās pārbaudes procesa pašuzraudzība ar
proc.mem[...,...,...,...,data]uzrāda vērtību, kas ir par 4 kB lielāka nekāVmDatarindā norādītā vērtība aģenta failā/proc/<pid>/status. Pašmērījuma laikā aģenta datu segments palielinās par 4 kB un pēc tam atgriežas iepriekšējā lielumā.
Solaris
Tabulā skatiet Solaris atbalstītās parametra memtype vērtības.
| Atbalstītā vērtība | Apraksts | Avots psinfo struktūrā | Mēģina nodrošināt saderību ar |
|---|---|---|---|
vsize 1 |
Procesa attēla lielums | pr_size |
ps -o vsz |
pmem |
Reālās atmiņas procentuālā daļa | pr_pctmem |
ps -o pmem |
rss |
Rezidentās kopas lielums 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.