저는 현재 Windows 시스템에서 nginx를 실행 중이며 웹 서버의 통계를 보여주는 작은 제어판을 만들고 있습니다.동일한 이름을 가진 모든 프로세스의 성능 카운터?
프로세스의 CPU 사용량 및 메모리 사용량에 대한 성능 카운터를 얻으려고 시도하고 있지만 nginx는 둘 이상의 프로세스로 보여줍니다. 구성 파일의 설정에 따라 2 - 5에서 다를 수 있습니다. 내 설정은 두 프로세스를 보여줍니다. 그래서 nginx.exe와 nginx.exe
% Processor Time
과 Working Set - Private
어떤 성능 카운터를 사용할 지 알지만 두 프로세스의 개별 값을 어떻게 얻을 수 있습니까? 최종 가치?
Waffles question에있는 코드를 사용해 보았지만 첫 번째 프로세스의 값만 출력 할 수있었습니다.
감사합니다.
편집 - 작동 코드 그 질문에 대한 허용 대답에서
for (int i = 0; i < instances.Length; i++)
{
//i = i + 1;
if (i == 0)
{
toPopulate = new PerformanceCounter
("Process", "Working Set - Private",
toImport[i].ProcessName,
true);
}
else
{
toPopulate = new PerformanceCounter
("Process", "Working Set - Private",
toImport[i].ProcessName + "#" + i,
true);
}
totalNginRam += toPopulate.NextValue();
instances[i] = toPopulate;
}
nginx # 2 인 경우이를 어떻게 식별자로 선택할 수 있습니까? –
perfmon이 nginx 및 nginx # 1로 표시되는지 확인하십시오. –
제 편집을 참조하십시오. 그래서'nginx'와 아마도'nginx_1'을 사용하십시오. –