none
Windows Server 2003에서 페이징이 순간적으로 많이 발생할 경우, 해당 프로세스를 확인하는 방법 RRS feed

  • 질문

  • 안녕하세요.

    OS는 Windows Server 2003 이고 용도는  특정 appication 서버 입니다.

    타사 모니터링 프로그램인 patrol 이란 프로그램에서 모니터링시 랜덤하게(대략 3일에 1~2번) 순간적으로 페이징 되는 건수가 몇백건~몇천건까지 발생하는 증상이 있습니다.

    patrol 프로그램에서는 단순히 페이징이 특정 날짜, 시간대에 몇건이 발생했다 정도밖에 확인이 안되고 실질적으로 어떤 프로세스에서 페이징이 발생했다는 알수가 없습니다.

    어떤 프로세스에서 페이징이 발생하는지 확인할 수 있는 방법이 있을까요?

    감사합니다.

    2012년 4월 18일 수요일 오전 5:13

모든 응답

  • Perfmon 의 성능카운터로 보시면 됩니다.

    아래 스크립트가 도움이 되겠네요

    cscript find_process.vbs

    를 수행하면 현재 시점에서 프로세스가 소유한 페이징메모리,페이징폴트양,Working Set 등이 출력됩니다.

    find_Process.vbs

    --------------------------

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" _
        & strComputer & "\root\cimv2")
    Set colProcesses = objWMIService.ExecQuery _
       ("Select * from Win32_Process")
    For Each objProcess in colProcesses

        Wscript.Echo "Process: " & objProcess.Name
        sngProcessTime = (CSng(objProcess.KernelModeTime) + _
            CSng(objProcess.UserModeTime)) / 10000000
        Wscript.Echo "Processor Time: " & sngProcessTime
        Wscript.Echo "Process ID: " & objProcess.ProcessID
        Wscript.Echo "Working Set Size: " _
        & objProcess.WorkingSetSize
        Wscript.Echo "Page File Size: " _
        & objProcess.PageFileUsage
        Wscript.Echo "Page Faults: " & objProcess.PageFaults
    Next

    ---------------------------------------------

    • 답변으로 표시됨 Jina LeeModerator 2012년 4월 20일 금요일 오전 2:10
    • 답변으로 표시 취소됨 jbkim 2012년 10월 8일 월요일 오전 12:11
    2012년 4월 18일 수요일 오전 7:50
  • 현 시점에서의 정보를 출력하고자 하는게 아니고 사용자가 원하는 시간대의 정보를 출력 할 수 있느냐를 문의 드린 겁니다.
    2012년 10월 8일 월요일 오전 12:13