로그온 프로세스 전이나 도중에 발생하는 성능 문제를 어떻게 분석 할 수 있습니까?
로그온 프로세스 전이나 도중에 발생하는 성능 문제를 어떻게 분석 할 수 있습니까?
답변:
프로세스 모니터는 실행중인 모든 프로세스에 대한 파일 시스템, 레지스트리 및 네트워크 이벤트를 수집하는 도구입니다. 그런 다음 수집 된 이벤트를 분석하여 특정 상황에서 시스템 (또는 응용 프로그램)이 내부적 으로 어떻게 작동하는지 확인할 수 있습니다 .
이 경우 도구를 사용하여 부팅 프로세스 중 완료하는 데 오랜 시간이 걸린 이벤트를 결정하려고합니다.
프로세스 모니터를 다운로드 하여 실행하십시오.
에서 옵션 메뉴에서 확인 부팅 로깅을 활성화합니다 .
결과 대화 상자에서 프로파일 링 이벤트 생성을 선택 하고 확인을 클릭하십시오 .
시스템을 재부팅하고 문제를 복제하십시오. 로그온 프로세스가 완료되면 프로세스 모니터를 시작하십시오.
프로세스 모니터는 부트시 활동을 수집했음을 알리고 해당 데이터를 지금 저장할 것인지 묻습니다. 예 를 클릭하여 프로세스를 확인하십시오 .
.pml
파일 의 적절한 저장 위치를 선택 하고 데이터가 변환 될 때까지 기다리십시오. 데이터가로드되면 열 헤더 중 하나에서 컨텍스트 메뉴를 열고 열 선택 ...을 클릭하여 기간 열을 표시 하십시오.
... 및 결과 대화 상자에서 해당 확인란을 선택하십시오.
** 필터 메뉴 에서 필터 ... *를 선택하여 새 필터를 만듭니다 .
값이 1 보다 큰 Duration 열에 대한 필터를 만듭니다. 이 경우 항목을 포함 해야합니다 . 추가 를 클릭 하여 필터를 목록에 추가하고 확인을 눌러 선택을 확인하십시오 .
이 시점에서 Process Monitor의 이벤트 목록에는 완료하는 데 1 초 이상 걸린 이벤트 만 표시됩니다. 완료하는 데 시간이 오래 걸린 이벤트 의 지속 기간 열 을 확인하려고합니다 .
데모 목적으로 여기에 완료하는 데 10 초 이상 걸리는 이벤트가 있습니다. 데모 목적으로 가상 머신에서 캡처되었습니다.
이러한 이벤트가 로그온 프로세스를 완료하기 위해 반드시 막을 필요는 없지만 Windows 인덱싱 서비스 및 Avast Anti-Virus를 사용하지 않도록 설정하면이 설치에서 유용 할 수 있습니다.
xperf는 Windows Performance Toolkit의 성능 분석 도구입니다. 이를 사용하고 수집 된 데이터를 분석하는 것은 어려운 일입니다. 그럼에도 불구하고 필요한 데이터를 수집하는 방법과 관련 섹션을 보는 방법을 살펴 보겠습니다.
이를 위해 필요한 Windows ADK (Assessment and Deployment Kit)는 Windows 7 이상에서만 작동합니다.
Windows ADK를 다운로드하고 최소한 Windows Performance Toolkit 구성 요소를 설치하십시오.
설치가 완료되면 관리자 권한 명령 프롬프트를여십시오.
추적을 찾을 디렉토리로 변경하십시오. 데스크탑처럼.
부팅 중에 추적을 캡처 하기 위해 XBOOTMGR 을 사용하여 느린 부팅 또는 느린 부팅으로 인한 느린 로그온에 따라 권장되는 방법 은 다음과 같습니다.
xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10
시스템은 이제 추적을 시작하고 재부팅합니다.
재부팅 후 화면의 지시 사항을 따르십시오. 징수 프로세스를 높이도록 요청 받게됩니다. 프로세스가 완료되면 추적을 시작한 폴더에서 결과 추적을 찾을 수 있습니다.
필자의 경우 데스크탑에 boot_1.etl
(및 해당하는 boot_1.cab
)을 만들었습니다 .
열기 .etl
에서 파일을 Windows 성능 분석기를 .
추적을 연 후에는 이미 하드웨어에 문제가 있음을 나타내는 가능한 표시를 볼 수 있습니다. 그래프 탐색기 에서 계산 , 저장 및 메모리 개요를 간단히 살펴보면 피크를 더 자세히 분석해야합니다.
데모 목적으로 Utilization By Process 그래프를 살펴 보겠습니다 . 내용을 표시하려면 그래프를 두 번 클릭하여 분석 보기 에 추가하십시오 .
어떤 피크도 관련된 피크를 표시하지 않습니다. 시작시 파란색 피크는 시스템 프로세스 에 속하며 현재 발생합니다.
CPU 사용량 그래프의 다른 피크는 상황에 따라 더 잘 보일 수 있습니다. 이제 분석 뷰에 다른 그래프를 추가하겠습니다. 우리가 찾고있는 그래프는 시스템 활동 섹션 에 있는 부팅 단계 그래프 입니다.
위 스크린 샷 에서 하단에 일반 이벤트 그래프를 추가하여 추가 컨텍스트를 제공했습니다. 그러나 여기서 주목 해야 할 것은 Avast 서비스가 CPU 사용량에서 처음으로 눈에 띄는 피크를 일으킨 사실입니다. 프로세스 모니터 분석에서이 프로세스는 부팅 프로세스에서 많은 시간이 소요 된 프로세스 중 하나라는 것을 이미 알고있었습니다.
우리는 또한 여기에 무엇을보고, 지금 우리가 부팅 단계의 맥락에서 볼 수있는 피크가 발생한다는 것입니다 후 Winlogon을 초기화 단계 (심지어에서 포스트 부팅 이미 바탕 화면을 볼 수있을 때 발생 단계). 따라서이 프로세스로 인해 데스크탑을보기 전에 단계에서 실제로 문제가 발생할 가능성은 거의 없습니다.
우리가 찾고자하는 것은 Winlogon Init 단계 에서 발생하는 이벤트입니다 . 이를 쉽게하기 위해 Boot Phases (부팅 단계) 그래프에서 단계를 선택할 수 있습니다. 그러면 해당 단계에서 발생한 모든 그래프의 모든 항목이 강조 표시됩니다.
더 잘 볼 수있는 그래프는 확실히 서비스 그래프입니다. 대부분 Winlogon Init 단계에서 시작됩니다.
소개에서 말했듯이 추적을 열면 문제가 바로 발생하지 않으면이 데이터를 분석하는 것이 복잡 할 수 있습니다. 그러나 이것은 문제를 분석하는 데 가장 적합한 도구입니다. 상황에 따라 더 깊은 드릴을 위해 스택 추적을 수집 할 수도 있습니다. 이 프로세스는이 게시물의 범위를 훨씬 벗어납니다.