Zabbix Documentation 3.2

3.04.04.45.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


ru:manual:appendix:items:proc_mem_num_notes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:manual:appendix:items:proc_mem_num_notes [2015/12/25 16:46]
dotneft
ru:manual:appendix:items:proc_mem_num_notes [2016/02/16 15:25] (current)
Line 100: Line 100:
 === Потоки ядра Linux === === Потоки ядра Linux ===
  
-== Threads cannot be selected with ''​cmdline'' ​parameter in ''​proc.mem[]'' ​and ''​proc.num[]'' ​items ==+== Нельзя выбрать потоки при помощи ​''​cmdline'' ​параметров в элементах данных ​''​proc.mem[]'' ​и ''​proc.num[]''​ ==
  
-Let's take as an example one of kernel threads:+Давайте возьмем в качестве примера один из потоков ядра:
   $ ps -ef| grep kthreadd   $ ps -ef| grep kthreadd
   root         ​2 ​    ​0 ​ 0 09:33 ?        00:00:00 [kthreadd]   root         ​2 ​    ​0 ​ 0 09:33 ?        00:00:00 [kthreadd]
  
-It can be selected with process ​''​name'' ​parameter:+Его можно выбрать при помощи параметра ​''​имя'':​
   $ zabbix_get -s localhost -k '​proc.num[kthreadd,​root]'​   $ zabbix_get -s localhost -k '​proc.num[kthreadd,​root]'​
   1   1
  
-But selection by process ​''​cmdline'' ​parameter does not work:+Но выбор при помощи параметра ​''​cmdline'' ​не работает:
   $ zabbix_get -s localhost -k '​proc.num[,​root,,​kthreadd]'​   $ zabbix_get -s localhost -k '​proc.num[,​root,,​kthreadd]'​
   0   0
  
-The reason is that Zabbix ​agent takes the regular expression specified in ''​cmdline'' ​parameter and applies it to contents of process ​''/​proc/<​pid>/​cmdline''​. +Причина такого поведения кроется в том, что ​Zabbix ​агент берет регулярное выражение,​ которое указано в параметре ​''​cmdline''​, и применяет его к содержимому процесса ​''/​proc/<​pid>/​cmdline''​. 
-For kernel threads their ''/​proc/<​pid>/​cmdline'' ​files are emptySo, ''​cmdline'' ​parameter never matches.+В случае потоков ядра, их файлы ​''/​proc/<​pid>/​cmdline'' ​пустыеТаким образомпараметр ​''​cmdline'' ​никогда не совпадет.
  
-== Counting of threads in ''​proc.mem[]'' ​and ''​proc.num[]'' ​items ==+== Вычисление потоков в элементах данных ​''​proc.mem[]'' ​и ''​proc.num[]''​ ==
  
-Linux kernel threads are counted by ''​proc.num[]'' ​item but do not report memory in ''​proc.mem[]'' ​item.  ​For example:+Потоки ядра ​Linux вычисляются при помощи элемента данных ​''​proc.num[]''​, но не сообщают информацию о памяти в элементе данных ​''​proc.mem[]''​.  ​Например:
  
   $ ps -ef | grep kthreadd   $ ps -ef | grep kthreadd
Line 130: Line 130:
   ZBX_NOTSUPPORTED:​ Cannot get amount of "​VmSize"​ memory.   ZBX_NOTSUPPORTED:​ Cannot get amount of "​VmSize"​ memory.
  
-But what happens if there is a user process with the same name as a kernel thread ​Then it could look like this:+Но что случится,​ если имеется пользовательский процесс с таким же именем как и у потока ядраТакой вариант будет выглядеть примерно следующим образом:
  
   $ ps -ef | grep kthreadd   $ ps -ef | grep kthreadd
Line 142: Line 142:
   4157440   4157440
  
-''​proc.num[]'' ​counted both the kernel thread and the user process+''​proc.num[]'' ​подсчитал как поток ядра, так и пользовательский процесс
-''​proc.mem[]'' ​reports memory for the user process only and counts the kernel thread memory as if it was 0. This is different from the case above when ZBX_NOTSUPPORTED ​was reported.+''​proc.mem[]'' ​сообщил информацию о памяти только по пользовательскому процессу и добавил память потока ядра как значение равное ​0. Такой вывод отличается от случая,​ приведенного выше, когда получено ​ZBX_NOTSUPPORTED.
  
-Be careful when using ''​proc.mem[]'' ​and ''​proc.num[]'' ​items if the program name happens to match one of the thread.+Будьте осторожны при использовании элементов данных ​''​proc.mem[]'' ​и ''​proc.num[]''​, если случится,​ что имя процесса совпадает с именем потока.
  
-Before putting parameters into ''​proc.mem[]'' ​and ''​proc.num[]'' ​itemsyou may want to test the parameters using ''​proc.num[]'' ​item and ''​ps'' ​command.+Перед добавлением параметров в элементы данных ​''​proc.mem[]'' ​и ''​proc.num[]'', ​вы мозможно захотите протестировать эти параметры,​ используя элемент данных ​''​proc.num[]'' ​и команду ​''​ps''​.