2010-12-08 5 views
3

C++ 응용 프로그램 foo.exe 용 코드를 작성하고 있습니다. 응용 프로그램 내부에서 주소 공간 사용을 기록하고 싶습니다. 따라서 살펴보고 싶은 성능 카운터는 "\ Process (foo) \ Virtual Bytes"입니다. 내가 만나는 문제는 시스템에서 실행중인 foo.exe의 인스턴스가 여러 개있을 수 있다는 것입니다. perfmon에서, 나는 이것이 "\ Process (foo # 2) \ Virtual Bytes"로 참조되는 것을 볼 수 있습니다. # 2는 프로세스의 수에 따라 임의의 수입니다.현재 프로세스에 대한 Windows 성능 카운터를 얻는 방법

프로세스의 배수 인스턴스가있는 경우를 처리하는 현재 프로세스의 가상 바이트를 가져올 카운터 경로를 어떻게 구성합니까?

답변

4

인스턴스는 현재 프로세스 ID와 일치하는 카운터 값이 ID Process 인 인스턴스입니다. 불행히도 모든 인스턴스를 가져 와서 인스턴스를 찾아 낼 때까지 모든 인스턴스를 가져와 열거하는 것 외에는 다른 방법이 없지만 그렇게하는 것은 쉽지 않습니다.

+1

항상 ID 처리 값이 PID와 일치하는지주의하십시오. 단지'foo # 2' 이니까'foo'가 사라지지 않고'foo # 1'으로 바뀌는 것을 의미하지는 않습니다! – Gabe

+1

@ 가브리 : 인스턴스가 '출생'에서 명명 된 것 같습니다. 'foo # 2'로 생성되면 프로세스가 종료 될 때까지 이름을 변경할 수 없습니다. –

+2

Remus : 그건 Perfmon을 사용한 경험이 아닙니다. – Gabe

관련 문제