WMI 작업: 성능 모니터링
성능 카운터에서 데이터를 가져오는 WMI 클래스를 사용하여 컴퓨터 성능에 대한 데이터에 액세스하고 새로 고칩니다. 다른 예제는 https://www.microsoft.com/technetTechNet ScriptCenter를 참조하세요. 자세한 내용은 성능 라이브러리 및 WMI 및 모니터링 성능 데이터참조하세요.
이 항목에 표시된 스크립트 예제는 로컬 컴퓨터에서만 데이터를 가져옵니다. 스크립트를 사용하여 원격 컴퓨터에서 데이터를 가져오는 방법에 대한 자세한 내용은 원격 컴퓨터 WMI에 연결하는참조하세요.
다음 절차에서는 스크립트를 실행하는 방법을 설명합니다.
스크립트 실행하려면
- 코드를 복사하고 .vbs 확장명(예: filename.vbs파일에 저장합니다. 텍스트 편집기가 파일에 .txt 확장자를 추가하지 않는지 확인합니다.
- 명령 프롬프트 창을 열고 파일을 저장한 디렉터리로 이동합니다.
- 명령 프롬프트에서 cscript filename.vbs 입력합니다.
- 이벤트 로그에 액세스할 수 없는 경우 관리자 권한 명령 프롬프트에서 실행 중인지 확인합니다. 보안 이벤트 로그와 같은 일부 이벤트 로그는 UAC(사용자 액세스 제어)로 보호될 수 있습니다.
메모
기본적으로 cscript는 명령 프롬프트 창에 스크립트의 출력을 표시합니다. WMI 스크립트는 많은 양의 출력을 생성할 수 있으므로 출력을 파일로 리디렉션할 수 있습니다. 명령 프롬프트에서 cscript filename.vbs > outfile.txt 입력하여 filename.vbs 스크립트의 출력을 outfile.txt리디렉션합니다.
다음 표에서는 로컬 컴퓨터에서 다양한 형식의 데이터를 가져오는 데 사용할 수 있는 스크립트 예제를 나열합니다.
어떻게 해야 하나요? | WMI 클래스 또는 메서드 | ||
---|---|---|---|
... 스크립트의 Perfmon 유틸리티에서 볼 수 있는 성능 카운터 데이터를 가져오시겠습니까? | "Win32_PerfFormattedData"로 시작하는 이름이 있는 클래스를 사용합니다(예: Win32_PerfFormattedData_PerfProc_Process).
PageFileBytes 같은 이름의 속성은 Perfmon에 표시되는 성능 카운터에 해당합니다. "Win32_PerfFormattedData" 클래스는 카운터의 최종 값을 계산합니다. |
||
... 단일 프로세스, 디스크 드라이브 및 기타 데이터에 대한 진행 중인 성능 데이터를 가져올 수 있나요? |
Win32_PerfFormattedData_PerfProc_Process 또는 적절한 형식의 성능 카운터 클래스 및 SWbemObjectEx.Refresh_ 메서드를 사용합니다. 자세한 내용은 SWbemObject 스크립팅을 참조하세요. C++에서 IWbemConfigureRefresher::AddObjectByPath 사용하고 IWbemRefresher::Refresh. 자세한 내용은 모니터링 성능 데이터참조하세요. 다음 스크립트는 컴퓨터가 다시 시작되거나, WMI가 중지되거나, 스크립트가 중지될 때까지 실행됩니다. 스크립트를 수동으로 중지하려면 작업 관리자를 사용하여 프로세스를 중지합니다. 프로그래밍 방식으로 중지하려면 Win32_Process 클래스에서 Terminate 메서드를 사용합니다.
|
||
... 계속 질문하지 않고 모든 프로세스에 대한 실시간 성능 데이터를 얻을 수 있나요? | 이름이 "Win32_PerfFormattedData"로 시작하는 클래스와 SWbemRefresher 개체를 사용합니다. 리프레셔는 개체를 보유하므로 컬렉션을 반복적으로 가져올 필요가 없습니다. 대부분의 카운터는 속도 카운터이므로 성능 데이터를 계산하려면 최소 두 개의 값이 필요합니다. 새로 고침 데이터를 처음 표시할 때는 비어 있습니다. 다음 스크립트는 컴퓨터를 다시 부팅하거나, WMI가 중지되거나, 스크립트가 중지될 때까지 무기한 실행됩니다. 스크립트를 수동으로 중지하려면 작업 관리자를 사용하여 프로세스를 중지합니다. 프로그래밍 방식으로 중지하려면 Win32_Process 클래스에서 Terminate 메서드를 사용합니다.
|
||
... Windows 2000에서 프로세스에 대한 성능 데이터를 가져와서 계산하시겠습니까? | Win32_PerfRawData_PerfProc_Process같은 "Win32_PerfRawData" 클래스를 사용합니다. 특정 프로세스에 대해 PercentProcessorTime같은 속성 데이터를 두 번 가져옵니다. 속성에 대한 CounterType 한정자에서 지정된 수식을 조회하고 계산합니다. 예제의 CounterType은 PERF_100NSEC_TIMER_INV. 자세한 내용은 모니터링 성능 데이터참조하세요. 다음 스크립트는 컴퓨터를 다시 부팅하거나, WMI가 중지되거나, 스크립트가 중지될 때까지 무기한 실행됩니다. 스크립트를 수동으로 중지하려면 작업 관리자를 사용하여 프로세스를 중지합니다. 프로그래밍 방식으로 중지하려면 Win32_Process 클래스에서 Terminate 메서드를 사용합니다.
|