2010-12-08 1 views
3

Я пишу код для приложения C++ foo.exe. Внутри приложения я хочу записать его адресное пространство. Таким образом, счетчик производительности, на который я хочу обратить внимание, это «\ Process (foo) \ Virtual Bytes». Проблема, с которой я сталкиваюсь, заключается в том, что в системе может быть несколько экземпляров foo.exe. В perfmon я вижу, что на них ссылаются как «\ Process (foo # 2) \ Virtual Bytes», где №2 может быть любым числом в зависимости от количества процессов.Как получить счетчик производительности Windows для текущего процесса

Как я могу построить встречный путь для получения виртуальных байтов для текущего процесса, который обрабатывает случай, когда есть несколько экземпляров процесса?

ответ

4

Ваш экземпляр имеет значение счетчика ID Process, соответствующее вашему текущему идентификатору процесса. К сожалению, нет другого способа, кроме как получить все экземпляры и перечислить их до тех пор, пока вы не найдете экземпляр, который принадлежит вам, но это довольно тривиально.

+1

Будьте осторожны, всегда убедитесь, что значение «ID Process» соответствует вашему PID. Просто потому, что вы `foo # 2` теперь не означает, что` foo` не исчезнет и превратит вас в `foo # 1`! – Gabe 2010-12-08 05:23:18

Смежные вопросы