느린 Windows 종료의 원인을 어떻게 식별 할 수 있습니까?


30

컴퓨터를 종료하는 데 시간이 오래 걸립니다.

범인을 어떻게 식별 할 수 있습니까? 컴퓨터가 종료 될 때까지 몇 분 정도 기다리지 않습니다 ...

종료하는 데 걸리는 시간을 추적하는 데 사용할 수있는 프로그램이 있습니까?


1
우리는 당신의 시스템이 어떻게 설정되고 백그라운드에서 무엇이 실행될 수 있는지 전혀 모릅니다
무작위

1
나는 매우 길고 완전한 답변을 작성했다으로 OK ... I 톱의 다른 사람이 (자신을 위해 좀 미안 느낌) 한 후, 그것을 질문을 삭제
wizlog

당신은 항상 블로그를 위해 그것을 제안 할 수 있습니다
무작위

2
전원 버튼을 몇 초 동안 누르고 있습니다.
Daniel R은

5
이 질문은 유효합니다, 나는 그의 문제가 해결되도록 객관적으로 이것에 대답 할 수 있습니다. 모호한 것이 없습니다 (문제는 종료 시간이 오래 걸린다는 것), 모호한 (종료 속도를 높이고 싶습니다), 불완전합니다 (세부 사항은 필요하지 않습니다. 물론 각 컴퓨터는 다르지만 기술을 만들지는 않습니다. 범인을 식별하기 위해, 지나치게 광범위하게 (당신은 그렇게 생각할 수도 있지만, 다른 질문에 대한 문제 해결 종료를 보지 못하므로 이것은 정말로 가치있는 질문입니다. 다른 일을 가속화하고 싶다면 넓어 질 것이라고 생각합니다. ) 또는 수사적 (xperf 관련)입니다.
Tamara Wijsman

답변:


31

Windows는 성능 카운터이벤트 추적 을 제공하여 응용 프로그램에서 성능 분석을 수행 할 수 있도록하여 성능 문제의 원인을 정확히 파악할 수 있도록합니다.이 중 하나의 툴킷 은 Windows SDK 에서 사용할 수있는 Windows 성능 툴킷 입니다.

당신은 발견 할 것이다 툴킷에 xbootmgr.exe대한 의미, 윈도우 온 / 오프 전환 성능 분석 .

위의 링크 된 문서가 모든 켜기 / 끄기 전환에 대한 모든 세부 사항을 xbootmgr다루고 있지만 xperf GUI를 사용하여 종료 전환을 추적하고 분석하는 일반적인 아이디어는 다음 과 같습니다.

  1. Windows SDK를 다운로드 한 다음이를 사용하여 Windows Performance Toolkit을 설치하십시오.

  2. 관리자 권한으로 명령 프롬프트를 연 후 다음을 실행하십시오.

    cd %ProgramFiles%\Microsoft Windows Performance Toolkit

  3. 나중에 도움이 필요하면을 입력 xbootmgr -help해도됩니다 xperf /?.

  4. 다음과 같이 재부팅 추적을 수행하십시오.

    xbootmgr -trace shutdown -traceFlags BASE+DIAG+LATENCY -noPrepReboot

  5. 부팅 후 2 분 내에 추적이 생성됩니다.

  6. 트레이스가에 저장되었습니다 %ProgramFiles%\Microsoft Windows Performance Toolkit.로 드래그 xperf.exe하면 GUI에서 열립니다.

  7. 그래프가 다른 GUI가 표시되며 왼쪽의 화살표를 사용하면 그래프를 추가 / 제거 할 수 있습니다.

  8. 그래프를보고 평범하지 않은 것을 식별 할 수 있는지 확인하고 원하는 경우 간격을 선택하고 확대 할 수 있습니다. 전체를 보려면 마우스 오른쪽 버튼을 클릭하고 확대를 취소하십시오.

  9. 각 그래프에 대해 마우스 오른쪽 버튼을 클릭 하여 현재 선택된 간격에 대한 요약 테이블을 얻을 수 있습니다 .

  10. 이 표에서 무게 또는 시간별로 정렬하여 어느 것이 가장 많이 소비되는지 파악하십시오. 열을 드래그 할 수 있으므로 예를 들어 I / O 테이블을 사용하면 최고 사용 경로와 최고 사용 프로세스를 확인할 수 있습니다.

    나누기 (노란색 머리글 열)는 오른쪽 열이 왼쪽 열의 합계를 표시하도록 만듭니다. 따라서 경로가 먼저 있고 프로세스가있는 경우 파일의 트리를 열어 액세스 한 프로세스를 확인한 다음 해당 프로세스 / 파일 조합에 대한 총계를 얻을 수 있습니다.

  11. 여기 에서 그래프와 테이블의 기능에 대한 자세한 정보를 찾을 수 있습니다 .

  12. 스택 추적을 조사하기 위해 어떻게 든 내려 가야하는 경우; 다른 부트 추적을 수행하고 -stackWalk profile매개 변수를 추가하고 _NT_SYMBOL_PATH를 설정하고 그래프를 마우스 오른쪽 단추로 클릭 한 후 "부하로드"를 활성화하십시오. 이를 통해 실제로 호출하는 기능을 확인할 수 있습니다. 일반적으로 종료시에는 필요하지 않습니다. 그러나 방화벽이 프로그래머로서 디버거를 방해한다는 것을 발견하는 것과 같은 것을 허용 할 수 있습니다. 꽤 근사하다 ...

행운을 빕니다, 당신이 범인을 찾을 수 있기를 바랍니다. 그렇지 않으면 추적을 삭제하고 우리가 당신을 살펴볼 것입니다 ...

DPC는 지연된 프로 시저 호출 이고 인터럽트는 소프트웨어 인터럽트 이며 둘 다 드라이버 / 하드웨어와 관련이 있습니다.


1
놀라운 유용한 답변. ETW에 대한 튜토리얼은 매우 유용합니다. 그것은 문서가없고 안내 할 GUI가없는 Windows의 영역입니다.
Ian Boyd

@Tom Wijsman 링크 업데이트
Moab

이제 Windows 평가 및 배포 키트에 포함되어 있습니다. 링크는 예를 들어 msdn.microsoft.com/en-us/windows/hardware/commercialize/test/… 또는 "Windows ADK"를 검색하여 찾을 수 있습니다 . 설치하는 동안 Performance Toolkit을 선택하는 것만 가능합니다.
Andreas Reiff

지금은 또한 이 여전히 SDK에서 사용할 수 있기 때문에, ... 부분.
Tamara Wijsman

22

실행 시간이 오래 걸리는 종료. 다음은 Tom 's answer의 예입니다 .

첫 번째 그래프는 디스크 I / O 문제를 보여줍니다 .

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

종료 시간이 1 분 이상 걸리고 모든 하드 드라이브 I / O입니다.

다음 그래프 인 디스크 사용률 은 드라이브 사용률 이 100 %로 거의 최대 값임을 나타냅니다.

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

마지막 그래프는 프로세스 별 디스크 사용률을 보여줍니다 .

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

아래로 필터링하면 모든 원인이 있음을 알 수 있습니다 WinInit.exe.

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

하드 드라이브 그래프를 마우스 오른쪽 버튼으로 클릭하고 Summary Table을 선택 하면 어떤 프로세스에서 어떤 파일에 액세스했는지 세부 정보를 얻을 수 있습니다.

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

종료 시간 56.4 초에 WinInit6.7GB를 기록했습니다 C:\hiberfil.sys.


그러나 문제는 Windows가 종료시 내 동면 파일에 쓰는 이유 는 무엇입니까?

그런 다음 종료시 해당 페이징 파일 을 지우도록 설정 한 옵션을 기억했습니다 .

  • 시작-> 실행-> SecPol.msc
    • 보안 설정, 로컬 정책, 보안 옵션
    • 종료 : 가상 메모리 페이지 파일 지우기

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

그래서 옵션을 비활성화하고 xbootmgr다시 실행 하십시오. 이제 종료 시간은 22 초입니다.

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

지금 9s22s종료가 지출되고 System일부에 쓰는 unknown파일. 더 많은 조사가 필요합니다.

그러나 지금은 1 분 반의 종료를 해결했습니다.


나는 더 나아가서 22 초 느린 종료를 해결했습니다. t =에서 12st에 = 21s100 % 보여 주었다 디스크 사용률 ,하지만 제로 디스크 I / O . 당황했다.

한 번 종료 할 때까지 내 드라이브 중 하나가 회전하는 소리가 들렸습니다. Windows가 휴면 상태 인 디스크에 액세스하려고했기 때문에 종료가 9 초 동안 정지되었습니다. 9 초 후 드라이브가 응답하고 잠시 후 기계가 꺼졌습니다.

아이러니하게도 Windows가 디스크를 깨워서 절전 모드로 전환 할시기임을 알려줍니다.

실제 종료 시간은 13.5 초입니다. 더 많은 조사가 필요합니다. 그러나 지금은 22 초 종료를 해결했습니다.


1
+1 당신의 경우에 문제가 해결되어 기쁘다.
타마라 Wijsman 2

1
이 답변은 블로그 게시물을 생각할 가치가 있습니까? ;)
Ivo Flipse
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.