로그온 프로세스 전 / 중에 성능 문제를 어떻게 분석 할 수 있습니까?


답변:


35

프로세스 모니터 사용

프로세스 모니터는 실행중인 모든 프로세스에 대한 파일 시스템, 레지스트리 및 네트워크 이벤트를 수집하는 도구입니다. 그런 다음 수집 된 이벤트를 분석하여 특정 상황에서 시스템 (또는 응용 프로그램)이 내부적 으로 어떻게 작동하는지 확인할 수 있습니다 .

이 경우 도구를 사용하여 부팅 프로세스 중 완료하는 데 오랜 시간이 걸린 이벤트를 결정하려고합니다.

  1. 프로세스 모니터를 다운로드 하여 실행하십시오.

  2. 에서 옵션 메뉴에서 확인 부팅 로깅을 활성화합니다 .

    부팅 로깅 활성화

  3. 결과 대화 상자에서 프로파일 링 이벤트 생성을 선택 하고 확인을 클릭하십시오 .

    프로파일 링 이벤트 생성

  4. 시스템을 재부팅하고 문제를 복제하십시오. 로그온 프로세스가 완료되면 프로세스 모니터를 시작하십시오.

  5. 프로세스 모니터는 부트시 활동을 수집했음을 알리고 해당 데이터를 지금 저장할 것인지 묻습니다. 를 클릭하여 프로세스를 확인하십시오 .

    부팅 시간 활동 저장

  6. .pml파일 의 적절한 저장 위치를 ​​선택 하고 데이터가 변환 될 때까지 기다리십시오. 데이터가로드되면 열 헤더 중 하나에서 컨텍스트 메뉴를 열고 열 선택 ...을 클릭하여 기간 열을 표시 하십시오.

    열 선택 ...

    ... 및 결과 대화 상자에서 해당 확인란을 선택하십시오.

    기간 확인란

  7. ** 필터 메뉴 에서 필터 ... *를 선택하여 새 필터를 만듭니다 .

    필터 메뉴

  8. 값이 1 보다 큰 Duration 열에 대한 필터를 만듭니다. 이 경우 항목을 포함 해야합니다 . 추가 를 클릭 하여 필터를 목록에 추가하고 확인을 눌러 선택을 확인하십시오 .

    여기에 이미지 설명을 입력하십시오

  9. 이 시점에서 Process Monitor의 이벤트 목록에는 완료하는 데 1 초 이상 걸린 이벤트 만 표시됩니다. 완료하는 데 시간이 오래 걸린 이벤트 의 지속 기간 열 을 확인하려고합니다 .

    데모 목적으로 여기에 완료하는 데 10 초 이상 걸리는 이벤트가 있습니다. 데모 목적으로 가상 머신에서 캡처되었습니다.

    이벤트 예
    클릭하면 확대

    이러한 이벤트가 로그온 프로세스를 완료하기 위해 반드시 막을 필요는 없지만 Windows 인덱싱 서비스 및 Avast Anti-Virus를 사용하지 않도록 설정하면이 설치에서 유용 할 수 있습니다.

xperf 사용

xperf는 Windows Performance Toolkit의 성능 분석 도구입니다. 이를 사용하고 수집 된 데이터를 분석하는 것은 어려운 일입니다. 그럼에도 불구하고 필요한 데이터를 수집하는 방법과 관련 섹션을 보는 방법을 살펴 보겠습니다.

이를 위해 필요한 Windows ADK (Assessment and Deployment Kit)는 Windows 7 이상에서만 작동합니다.

  1. Windows ADK를 다운로드하고 최소한 Windows Performance Toolkit 구성 요소를 설치하십시오.

  2. 설치가 완료되면 관리자 권한 명령 프롬프트를여십시오.

    높은 명령 프롬프트

  3. 추적을 찾을 디렉토리로 변경하십시오. 데스크탑처럼.

  4. 부팅 중에 추적을 캡처 하기 위해 XBOOTMGR사용하여 느린 부팅 또는 느린 부팅으로 인한 느린 로그온에 따라 권장되는 방법 은 다음과 같습니다.

    xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10

    시스템은 이제 추적을 시작하고 재부팅합니다.

  5. 재부팅 후 화면의 지시 사항을 따르십시오. 징수 프로세스를 높이도록 요청 받게됩니다. 프로세스가 완료되면 추적을 시작한 폴더에서 결과 추적을 찾을 수 있습니다.

    필자의 경우 데스크탑에 boot_1.etl(및 해당하는 boot_1.cab)을 만들었습니다 .

    열기 .etl에서 파일을 Windows 성능 분석기를 .

분석

추적을 연 후에는 이미 하드웨어에 문제가 있음을 나타내는 가능한 표시를 볼 수 있습니다. 그래프 탐색기 에서 계산 , 저장메모리 개요를 간단히 살펴보면 피크를 더 자세히 분석해야합니다.

데모 목적으로 Utilization By Process 그래프를 살펴 보겠습니다 . 내용을 표시하려면 그래프를 두 번 클릭하여 분석 보기 에 추가하십시오 .

Windows 성능 분석기 개요
클릭하면 확대

어떤 피크도 관련된 피크를 표시하지 않습니다. 시작시 파란색 피크는 시스템 프로세스 에 속하며 현재 발생합니다.

CPU 사용량 그래프의 다른 피크는 상황에 따라 더 잘 보일 수 있습니다. 이제 분석 뷰에 다른 그래프를 추가하겠습니다. 우리가 찾고있는 그래프는 시스템 활동 섹션 에 있는 부팅 단계 그래프 입니다.

부팅 단계
클릭하면 확대

위 스크린 샷 에서 하단에 일반 이벤트 그래프를 추가하여 추가 컨텍스트를 제공했습니다. 그러나 여기서 주목 해야 할 것은 Avast 서비스가 CPU 사용량에서 처음으로 눈에 띄는 피크를 일으킨 사실입니다. 프로세스 모니터 분석에서이 프로세스는 부팅 프로세스에서 많은 시간이 소요 된 프로세스 중 하나라는 것을 이미 알고있었습니다.

우리는 또한 여기에 무엇을보고, 지금 우리가 부팅 단계의 맥락에서 볼 수있는 피크가 발생한다는 것입니다 Winlogon을 초기화 단계 (심지어에서 포스트 부팅 이미 바탕 화면을 볼 수있을 때 발생 단계). 따라서이 프로세스로 인해 데스크탑을보기 전에 단계에서 실제로 문제가 발생할 가능성은 거의 없습니다.

우리가 찾고자하는 것은 Winlogon Init 단계 에서 발생하는 이벤트입니다 . 이를 쉽게하기 위해 Boot Phases (부팅 단계) 그래프에서 단계를 선택할 수 있습니다. 그러면 해당 단계에서 발생한 모든 그래프의 모든 항목이 강조 표시됩니다.

더 잘 볼 수있는 그래프는 확실히 서비스 그래프입니다. 대부분 Winlogon Init 단계에서 시작됩니다.

소개에서 말했듯이 추적을 열면 문제가 바로 발생하지 않으면이 데이터를 분석하는 것이 복잡 할 수 있습니다. 그러나 이것은 문제를 분석하는 데 가장 적합한 도구입니다. 상황에 따라 더 깊은 드릴을 위해 스택 추적을 수집 할 수도 있습니다. 이 프로세스는이 게시물의 범위를 훨씬 벗어납니다.

추가 자료


WPT의 xbootmgr ( msfn.org/board/index.php?showtopic=158252 )이 시작하기에 더 좋은 도구입니다. 나는 ProcMon 로깅 만 사용하여 부팅의 특별한 단계를 자세히 살펴 봅니다.
magicandre1981

@ magicandre1981 : 게시물이 아직 완성되지 않았습니다;) xperf에 대한 자세한 내용을 추가하려면 자유롭게 편집하십시오.
Der Hochstapler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.