1 ערך ברירת מחדל.
cmdline בפריטים proc.mem[] ו-proc.num[]ניקח כדוגמה את אחד משרשורי הקרנל:
ניתן לבחור אותו עם פרמטר 'שם' של התהליך:
אבל בחירה לפי פרמטר 'cmdline' של תהליך לא עובד:
הסיבה היא שסוכן Zabbix לוקח את הביטוי הרגולרי שצוין בפרמטר cmdline ומחיל אותו על תוכן התהליך /proc/<pid>/cmdline. עבור שרשורי ליבה שלהם /proc/<pid>/cmdline הקבצים ריקים. אז פרמטר 'cmdline' אף פעם לא תואם.
proc.mem[] ו-proc.num[]שרשורי ליבת לינוקס נספרים לפי פריט proc.num[] אך אינם מדווחים זיכרון בפריט proc.mem[]. לדוגמה:
$ ps -ef | grep kthreadd
שורש 2 0 0 09:51 ? 00:00:00 [kthreadd]
$ zabbix_get -s localhost -k 'proc.num[kthreadd]'
1
$ zabbix_get -s localhost -k 'proc.mem[kthreadd]'
ZBX_NOTSUPPORTED: לא ניתן לקבל כמות זיכרון "VmSize".אבל מה קורה אם יש תהליך משתמש באותו שם כמו א חוט ליבה? ואז זה יכול להיראות כך:
$ ps -ef | grep kthreadd
שורש 2 0 0 09:51 ? 00:00:00 [kthreadd]
zabbix 9611 6133 0 17:58 נקודות/1 00:00:00 ./kthreadd
$ zabbix_get -s localhost -k 'proc.num[kthreadd]'
2
$ zabbix_get -s localhost -k 'proc.mem[kthreadd]'
4157440proc.num[] ספר גם את שרשור הליבה וגם את תהליך המשתמש. proc.mem[] מדווח על זיכרון עבור תהליך המשתמש בלבד וסופר את זיכרון פתיל ליבה כאילו הוא 0. זה שונה מהמקרה לעיל כאשר דווח על ZBX_NOTSUPPORTED.
היזהר בעת שימוש בפריטים proc.mem[] ו-proc.num[] אם התוכנית שם במקרה תואם לאחד מהשרשור.
לפני שמכניסים פרמטרים לפריטים proc.mem[] ו-proc.num[], אתה אולי תרצה לבדוק את הפרמטרים באמצעות הפריט proc.num[] ו-ps פקודה.