При настройке записи счетчиков производительности, а также их последующем анализе, в системах на базе различных версий Windows, в большинстве случаев применяется встроенный инструментарий в виде Windows Perfomance Monitor, или коротко PerfMon.
Одним из существенных неудобств при работе с PerfMon является то, что одноименные процессы именуются по-порядку, с добавлением суффикса #n к имени процесса.
Эта особенность не позволяет идентифицировать конкретный процесс, чтобы можно было, к примеру, произвести анализ техжурнала на предмет поиска причин нештатного поведения процесса, а также видеть что реально происходит с процессами (падения, перезапуски и т.д.).
Например, в данном случае, видно что с процессом rphost#8 что-то произошло. Можно даже догадаться что один процесс "упал" и вместо него запустился новый, получивший то же имя. Однако бывают гораздо менее понятные "картинки".
К счастью, есть способ исправить данную особенность.
Необходимо в реестре Windows открыть ветвь HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPerfProcPerformance и добавить ключ с именем ProcessNameFormat типа DWORD и установить ему значение 2.
Значения ключа:
1 — PID не используется в именах процессов (по-умолчанию);
2 — PID используется.
После изменения достаточно перезапустить сборщик, чтобы получить имена процессов в формате Process_PID
Результирующая картинка уже позволяет увидеть что процесс rphost, имеющий PID 7252 проработал около 5 минут и завершился. Техжурнал можно смотреть уже по конкретному процессу.
Ссылка на источник (Microsoft, eng)
Замечание: В источнике есть дисклаймер: Important If you enable this feature, you may be unable to monitor process-specific information by using third-party utilities or custom-made programs.
Мой вариант перевода для невладеющих (владеющие, думаю, уже прочли самостоятельно):
"Если вы включите эту функцию, у вас могут возникнуть проблемы с отслеживанием информации о процессах при использовании сторонних утилит или пользовательских программ."
Кажется должен быть более простой путь сделать то же самое.
(1)
Может быть создавать счетчики через logman? Моежет там можно указать имена.
(1) Похоже, что нет:https://support.microsoft.com/ru-kz/help/281884/the-process-object-in-performance-monitor-can-display-process-ids-pids
Считаю необходимым указать следующую информацию из ссылки выше:
«Важно! Если вы включите эту функцию, вы не сможете отслеживать информацию, относящуюся к процессу, используя сторонние утилиты или пользовательские программы.»
(2) Ничто не мешает попровать, так ведь?
(1) Сергей, полагаете есть более простой способ, чем добавление ключа Реестра?
Если действительно есть, я с радостью приму его к сведению.
В своё время, когда меня окончательно «добили» эти номера процессов, я нашел лишь такое решение где-то в бужунете (в Рунете о нём не было ни слова). Полагаю, что и сейчас картина примерно такая же.
(1) в одной из статей на kb.1c.ru описан такой же подход. Как ещё можно это сделать, просвятите пожалуйста?
(6) Вы не могли бы уточнить в какой именно статье на kb это описано? Все эти статьи мне знакомы, прочитаны не по одному разу и используются в работе постоянно. Поэтому я не поленился поискать. Не нашел. Могу предположить, что Вы имели ввиду статью «Мониторинг на продукционных серверах» (ту её часть, где речь идет о дампах).
(3) Спасибо. Добавил дисклаймер. Только в несколько более «мягком» переводе: «..могут возникнуть проблемы … при использовании сторонних утилит..»
Ой, я видел это довольно давно, кажется статья была связана с проблемой, которую сложно отловить не идентифицировав однозначно процесс. Также не исключаю, что это был не kb, но кажется всё-таки kb, уверен на 99%. Если найду, обязательно отпишусь.