8 Notes on memtype parameter in proc.mem items

סקירה כללית

הפרמטר memtype נתמך ב-Linux, AIX, FreeBSD ו פלטפורמות של סולאריס.

שלושה ערכים נפוצים של 'memtype' נתמכים על כל אלה פלטפורמות: pmem, rss ו-vsize. בנוסף, ספציפי לפלטפורמה ערכי 'memtype' נתמכים בפלטפורמות מסוימות.

AIX

ראה ערכים הנתמכים עבור פרמטר 'memtype' ב-AIX בטבלה.

ערך נתמך תיאור מקור במבנה procentry64 מנסה להיות תואם
vsize 1 גודל זיכרון וירטואלי pi_size
pmem אחוז הזיכרון האמיתי pi_prm ps -o pmem
rss גודל ערכת תושב pi_trss + pi_drss ps -o rssize
גודל גודל התהליך (קוד + נתונים) pi_dvm "ps gvw" עמודה SIZE
dsize גודל נתונים pi_dsize
tsize גודל טקסט (קוד) pi_tsize "ps gvw" עמודת TSIZ
sdsize גודל נתונים מספרייה משותפת pi_sdsize
drss גודל ערכת תושב נתונים pi_drss
trss גודל סט תושב טקסט pi_trss

Notes for AIX:

  1. When choosing parameters for proc.mem[] item key on AIX, try to specify narrow process selection criteria. Otherwise there is a risk of getting unwanted processes counted into proc.mem[] result.

Example:

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

This example shows how specifying only command line (regular expression to match) parameter results in Zabbix agent self-accounting - probably not what you want.

  1. Do not use "ps -ef" to browse processes - it shows only non-kernel processes. Use "ps -Af" to see all processes which will be seen by Zabbix agent.

  2. Let's go through example of 'topasrec' how Zabbix agent proc.mem[] selects processes.

\$ 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[] has arguments:

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

The 1st criterion is a process name (argument <name>). In our example Zabbix agent will see it as 'topasrec'. In order to match, you need to either specify 'topasrec' or to leave it empty. The 2nd criterion is a user name (argument <user>). To match, you need to either specify 'root' or to leave it empty. The 3rd criterion used in process selection is an argument <cmdline>. Zabbix agent will see its value as '/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'. To match, you need to either specify a regular expression which matches this string or to leave it empty.

Arguments <mode> and <memtype> are applied after using the three criteria mentioned above.

FreeBSD

ראה ערכים הנתמכים עבור פרמטר 'memtype' ב-FreeBSD בטבלה.

ערך נתמך תיאור מקור במבנה kinfo_proc מנסה להיות תואם
vsize גודל זיכרון וירטואלי kp_eproc.e_vm.vm_map.size או ki_size ps -o vsz
pmem אחוז הזיכרון האמיתי מחושב מ-rss ps -o pmem
rss גודל ערכת תושב kp_eproc.e_vm.vm_rssize או ki_rssize ps -o rss
size 1 גודל התהליך (קוד + נתונים + מחסנית) tsize + dsize + ssize
tsize גודל טקסט (קוד) kp_eproc.e_vm.vm_tsize או ki_tsize ps -o tsiz
dsize גודל נתונים kp_eproc.e_vm.vm_dsize או ki_dsize ps -o dsiz
ssize גודל מחסנית kp_eproc.e_vm.vm_ssize או ki_ssize ps -o ssiz

לינוקס

ראה ערכים הנתמכים עבור פרמטר 'memtype' ב-Linux בטבלה.

ערך נתמך תיאור מקור ב-/proc/<pid>/קובץ status
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
גודל גודל קוד תהליך + נתונים + מקטעי מחסנית VmExe + VmData + VmStk
stk גודל מקטע מחסנית VmStk
swap גודל שטח ההחלפה בשימוש VmSwap

הערות עבור לינוקס:

  1. לא כל ערכי 'memtype' נתמכים על ידי ליבות לינוקס ישנות יותר. ל לדוגמה, ליבות Linux 2.4 אינן תומכות ב-'hwm', 'pin', 'peak', ערכי 'pte' ו-'swap'.
  2. שמנו לב כי ניטור עצמי של סוכן Zabbix פעיל תהליך הבדיקה עם proc.mem[...,...,...,...,data] מציג ערך זה גדול ב-4 kB ממה שדווח על ידי שורת VmData בשורת הסוכן /proc/<pid>/status file. בזמן המדידה העצמית ה פלח הנתונים של הסוכן גדל ב-4 kB ואז חוזר ל- גודל קודם.

סולאריס

ראה ערכים הנתמכים עבור פרמטר 'memtype' ב-Solaris בטבלה.

ערך נתמך תיאור מקור במבנה ה-psinfo מנסה להיות תואם
vsize 1 גודל תמונת התהליך pr_size ps -o vsz
pmem אחוז הזיכרון האמיתי pr_pctmem ps -o pmem
rss גודל ערכת תושב
ייתכן שההערכה נמוכה - ראה תיאור rss ב-"man ps".
pr_rssize ps -o rss
הערות שוליים

1 ערך ברירת מחדל.