2011-09-30 4 views

답변

1

프로세스 메모리 관련 정보는 Win32_Process class을 사용하는 WMI를 통해 노출됩니다. 특히 WorkingSetSizeVirtualSize 속성에 관심이있을 것입니다. 서비스를 시작하기 때문에 적절한 Win32_Process 인스턴스를 선택하기 위해 서비스에서 ProcessId 속성을 얻고 자 할 것입니다.

IIS의 전체 메모리 사용량 모니터링은 구성 방법에 따라 IIS가 여러 프로세스와 서비스를 실행하므로 다소 복잡 할 수 있습니다 (hierarchy of managed entities described here 참조). 그러나이 예제에서는 실제 HTTP 프로토콜을 구현하는 W3SVC이 소비하는 메모리에만 관심이 있다고 가정 해 보겠습니다. 팀 골든의 fantastic WMI library을 사용한다고 가정하면 다음과 같이 처리해야합니다.

import wmi 

c = wmi.WMI() 
for www_srv in c.Win32_Service(Name = 'W3SVC'): 
     for process in c.Win32_Process(ProcessId = www_srv.ProcessId): 
      print 'Memory used by W3SVC', process.WorkingSetSize 
관련 문제