Computer >> 컴퓨터 >  >> 시스템 >> Windows 7

Process Monitor로 느린 Windows 부팅 원인 진단하고 해결하는 방법

윈도우 부팅이 느려진 원인을 진단하려면 xperf나 xbootmgr(Windows Performance Toolkit/Analyzer 제공) 같은 강력한 로그 분석 도구를 사용해 부팅 단계와 서비스 시작 과정을 상세히 디버깅할 수 있습니다. 하지만 이런 도구들은 특히 초보 시스템 관리자에게는 다소 어렵게 느껴질 수 있습니다. 이 글에서는 Sysinternals의 Process Monitor를 활용해 부팅 시 어떤 앱, 서비스, 드라이버가 느리게 동작하여 전체 부팅 시간을 늘리는지 쉽고 빠르게 확인하는 방법을 소개합니다.

Process Monitor의 부팅 로깅 기능이란?

윈도우 시스템 관리자라면 Sysinternals 유틸리티 키트에 포함된 Process Monitor를 이미 알고 있을 것입니다. Process Monitor는 실행 중인 프로세스의 활동과 파일 시스템, 레지스트리 접근을 실시간으로 모니터링할 수 있는 도구입니다. 그중 잘 알려지지 않은 기능 하나가 바로 윈도우 시작 과정에서 실행되는 프로세스까지 모니터링할 수 있다는 점입니다.

부팅 단계를 진단하기 위해 Process Monitor는 레지스트리의 HKLM\SYSTEM\CurrentControlSet\Services 키에 별도의 서비스를 생성합니다. 이 서비스는 부팅 모드 드라이버인 procmon23.sys를 로드하며, Winload.exe가 실행된 후 시작되어 부팅 및 사용자 로그온 과정에서 구동되는 모든 프로세스의 활동을 기록합니다.

부팅 로그 수집 절차

  1. Process Monitor가 포함된 압축 파일을 다운로드해 압축을 해제합니다. (https://download.sysinternals.com/files/ProcessMonitor.zip)
  2. procmon.exe를 관리자 권한으로 실행합니다.
  3. Options 메뉴에서 Enable Boot Logging을 선택합니다.
  4. 다음 창에서 Generate thread profiling events → Every second를 선택합니다. 이 모드에서는 procmon 드라이버가 매초 모든 프로세스의 상태를 캡처합니다.
  5. 컴퓨터를 재시작하고 바탕화면이 나타날 때까지 기다립니다.
  6. procmon23.sys는 사용자가 Process Monitor를 실행할 때까지 모든 이벤트를 기록하며, 이후 부팅 로깅 모드는 자동으로 비활성화됩니다.
  7. Process Monitor 창에 수집된 데이터를 파일로 저장하라는 안내가 표시되면 이를 수락합니다.

참고: Process Monitor를 종료하지 않으면 임시 로그 파일(%windir%\procmon.pmb)이 계속 커져 시스템 드라이브의 남은 공간을 모두 차지할 수 있습니다.

  1. 파일을 저장할 폴더를 선택하고 저장이 완료될 때까지 기다립니다. 필자의 경우 Bootlog.pml, Bootlog-1.pml, Bootlog-2.pml 세 개의 파일이 총 700MB 크기로 생성되었습니다.

느린 프로세스 찾기: Duration 필터 설정

  1. ProcMon 창에서 테이블 헤더를 클릭한 뒤 Select Columns를 선택하고 Duration 열 표시를 활성화합니다.
  2. Filter 메뉴에서 새 필터를 생성합니다.
  3. 필터 항목으로 Duration을 선택하고, 조건은 more than(초과), 값은 10으로 지정합니다.
  4. 이렇게 하면 어떤 작업을 수행하는 데 10초 이상 걸리는 프로세스만 목록에 표시됩니다. (여기서는 예시를 명확하게 보여주기 위해 10초로 설정했습니다.)

Process Tree로 부팅 과정 한눈에 보기

부팅 과정을 분석할 때는 Tools → Process Tree 기능도 매우 유용합니다. 이 기능은 모든 프로세스를 그래픽 트리 형태로 표시하여 각 프로세스의 시작 시점, 실행 시간, 종료 시점을 한눈에 파악할 수 있게 해줍니다.

분석 결과 활용하기

이제 확보한 프로세스 목록을 분석하고(필요하다면 실행 파일 이름으로 필터를 적용해 문제 프로세스를 더 자세히 추적할 수 있습니다), 각 프로세스를 서비스, 앱 또는 드라이버와 대조해 시스템을 최적화하면 됩니다.

일반적으로 이러한 분석을 통해 느린 프로세스나 감염된 프로그램을 발견할 수 있습니다(특히 Winlogon.exe의 자식 프로세스를 우선적으로 점검해야 합니다). 분석 결과를 바탕으로 문제가 되는 소프트웨어나 드라이버를 제거 또는 업데이트하고, 불필요한 서비스를 비활성화하거나 시작 유형을 변경(지연 시작 또는 수동 시작)하며, 자동 실행 목록에서 일부 앱을 제거하는 등의 조치를 취할 수 있습니다. 백신 소프트웨어나 리소스 사용량이 많은 프로그램이 이 목록에 포함되는 경우가 많으므로 주의 깊게 살펴보시기 바랍니다.