맨위로가기

프리페처

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

프리페처는 윈도우 시스템의 부팅 및 응용 프로그램 실행 속도를 향상시키는 기능이다. 시스템 부팅 시에는 읽히는 코드와 데이터를 추적하여 로그 파일에 기록하고, 다음 부팅 시 이 로그 파일을 참조하여 데이터를 최적화된 순서로 로드한다. 응용 프로그램 실행 시에는 처음 10초 동안의 동작을 관찰한다. 프리페처는 Windows 폴더 내의 Prefetch 폴더에 추적 파일을 저장하며, 작업 스케줄러와 디스크 조각 모음을 통해 성능을 최적화한다. 프리페처 설정 변경이나 Prefetch 폴더 삭제는 성능 저하를 유발할 수 있으며, SSD 환경에서는 효과가 크지 않거나 오히려 성능 저하를 유발할 수 있다는 주장도 있다.

더 읽어볼만한 페이지

  • 메모리 관리 소프트웨어 - 메모리 디버거
    메모리 디버거는 메모리 접근, 할당, 해제를 모니터링하여 메모리 오류를 찾아내고 소프트웨어의 신뢰성을 높이는 도구이다.
  • 메모리 관리 소프트웨어 - Mimalloc
    Mimalloc은 Microsoft에서 개발한 고성능 메모리 할당기로, 다양한 운영체제와 하드웨어 아키텍처를 지원하며 다중 스레드 환경에서 메모리 할당 및 해제 속도 향상에 초점을 맞추어 설계되었고 MIT 라이선스로 제공된다.
  • 윈도우 XP - 볼륨 라이선스
    볼륨 라이선스는 소프트웨어 여러 개를 구매할 때 사용되는 경제적인 라이선스 방식으로, 설치 미디어와 시리얼 번호 등을 묶어 관리하며, KMS 방식을 통해 불법 복제를 방지한다.
  • 윈도우 XP - 인터넷 익스플로러 7
    인터넷 익스플로러 7은 마이크로소프트에서 개발하여 2006년 10월에 공개된 웹 브라우저로, 탭 브라우징, 피싱 필터, 강화된 ActiveX 제어 등 사용자 편의성과 보안 기능이 강화되었으며 윈도우 비스타의 기본 브라우저이자 윈도우 XP를 포함한 다른 버전에도 제공되었다.
  • 윈도우 구성 요소 - 인터넷 익스플로러
    마이크로소프트가 개발한 웹 브라우저인 인터넷 익스플로러는 윈도우 운영 체제와의 통합으로 높은 시장 점유율을 유지했으나, 웹 표준 문제와 보안 취약점으로 비판받으며 2015년 엣지에 자리를 내주고 2022년 지원이 종료되었지만, 엣지의 IE 모드로 레거시 호환성을 유지하고 있다.
  • 윈도우 구성 요소 - 원격 데스크톱 서비스
    원격 데스크톱 서비스(RDS)는 네트워크를 통해 원격으로 컴퓨터의 데스크톱 환경에 접근할 수 있게 해주는 기술이며, 클라이언트 소프트웨어, 서버 구성 요소, 다양한 역할을 수행하는 구성 요소로 구성된다.
프리페처
일반 정보
"Prefetcher 구조"
개발마이크로소프트
운영체제윈도우 NT 4.0 이상
유형파일 시스템
디스크 캐시
기술적 세부 사항
작동 방식프리페처는 애플리케이션 시작 시 사용되는 파일 및 디렉터리를 모니터링하고, 해당 정보를 추적합니다. 다음 시작 시 이러한 파일과 디렉터리를 미리 로드하여 시작 속도를 향상시킵니다.
저장 위치%SystemRoot%\Prefetch
파일 형식.pf
파일 이름 규칙Filename-Application.exe-<해시>.pf
기능애플리케이션 시작 속도 향상
부팅 프로세스 속도 향상
SuperFetch윈도우 비스타부터는 SuperFetch라는 향상된 프리페칭 기술이 사용됨
추가 정보프리페처는 디스크 조각 모음과 같은 다른 시스템 유지 관리 작업과 함께 작동하여 시스템 성능을 최적화합니다.

2. 작동 원리

윈도우 시스템이 부팅되거나 응용 프로그램이 실행될 때, 수많은 파일들이 메모리에 로드되어 처리된다. 종종 같은 파일의 다른 부분이 다른 시각에 접근되기도 한다. 이는 파일을 여러 번 열고 읽는 데 많은 시간을 소요하게 만든다. 프리페처는 이러한 비효율을 개선하기 위해 시스템 부팅 및 응용 프로그램 실행 시 접근되는 파일들의 정보를 기록한다.

프리페처는 부팅 과정에서 어떤 코드와 데이터가 읽히는지(NTFS 마스터 파일 테이블 읽기 동작 포함) 관찰하고, 이 동작들을 로그 파일에 기록한다. 이후 시스템을 다시 시작하거나 응용 프로그램을 실행할 때, 이 로그 파일을 참조하여 다음에 필요한 파일들을 예측하고 미리 메모리에 로드함으로써 시스템 부팅 및 응용 프로그램 실행 속도를 향상시킨다.[1]

작업 스케줄러는 프리페처가 수집한 추적 데이터를 분석하고 프리페처 디렉터리에 파일을 쓰는 역할을 한다. 따라서 작업 스케줄러 서비스가 시작되지 않으면 프리페처는 제대로 작동하지 않는다.

작업 스케줄러는 3일마다 윈도우 디스크 조각 모음을 호출하여 추가적인 성능 향상을 꾀한다. 시스템이 유휴 상태일 때, 부팅 및 응용 프로그램 시작 중에 참조된 파일 및 디렉터리 목록을 처리하고, 그 결과를 `Layout.ini` 파일에 저장한다. 이 파일은 디스크 조각 모음에 전달되어 파일들을 물리적 하드 드라이브의 순차적인 위치로 재정렬하는 데 사용된다.[1] 이렇게 하면 하드 드라이브 헤드의 이동 거리를 최소화하여 성능을 더욱 향상시킬 수 있다.

시스템이 솔리드 스테이트 드라이브(SSD)에 설치된 경우, ReadyBoost는 비활성화된다.

2. 1. 부팅 프리페처

윈도우 시스템이 부팅될 때, 메모리에는 수많은 파일들이 로드되어 처리된다. 이때 같은 파일의 다른 부분이 서로 다른 시간에 접근되기도 한다. 이로 인해 파일을 여러 번 열고 읽는 데 많은 시간이 소요된다. 프리페처는 이러한 비효율을 개선하기 위해 부팅 과정에서 어떤 코드와 데이터가 읽히는지(NTFS 마스터 파일 테이블 읽기 동작 포함) 관찰하고, 이 동작들을 로그 파일에 기록한다.[1]

이후 부팅 시에는 기록된 로그 파일을 참조하여 코드와 데이터를 최적화된 순서로 불러온다. 부팅 프리페처는 사용자 이 시작된 후 30초, 모든 서비스 초기화가 완료된 후 60초, 또는 시스템 시동 후 120초 중 먼저 도래하는 시점까지 동작을 추적한다.[1]

2. 2. 응용 프로그램 프리페처

응용 프로그램 프리페치는 응용 프로그램이 실행될 때 작동한다. 처음 10초 동안의 동작을 관찰한다.[1]

프리페처는 추적 파일을 윈도우 폴더 내의 "Prefetch" 폴더(일반적으로 `C:\Windows\Prefetch`)에 저장한다. 응용 프로그램 추적 파일은 응용 프로그램 실행 파일 이름, 하이픈, 파일 경로 해시의 16진수 표현, ".pf" 확장자를 연결한 것이다. (예: 프로그램.exe-XXXXXXXX.pf)

MMC 또는 Dllhost와 같이 다른 구성 요소를 호스팅하는 응용 프로그램은 계산된 해시에 로드된 구성 요소의 이름도 포함한다. 이로 인해 각 구성 요소에 대해 다른 추적 파일이 생성된다.

3. 구성

프리페처의 설정은 Windows 레지스트리의 특정 위치에 저장되며, 사용자가 설정을 변경할 수 있다. 권장 값은 3이다.[5]

3. 1. 레지스트리 설정

프리페처의 구성은 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters`의 윈도우 레지스트리에 저장된다.[5] `EnablePrefetcher` 값은 다음 중 하나로 설정할 수 있다.[5]

설명
0비활성화
1애플리케이션 프리페칭 활성화
2부팅 프리페칭 활성화 (윈도우 서버 2003에서만 기본값)[6]
3애플리케이션 및 부팅 프리페칭 활성화 (윈도우 데스크톱 버전의 기본값)[5]



권장 값은 3이다.[5] 3보다 높은 값은 성능을 향상시키지 않으며, 값을 2로 변경해도 윈도우 부팅 속도가 빨라지지 않는다.[5]

3. 2. 디스크 조각 모음

작업 스케줄러는 3일마다 Windows 디스크 조각 모음을 호출하여 부팅 및 응용 프로그램 시작 시 참조되는 파일과 디렉터리 목록을 처리한다.[1] 처리된 결과는 프리페처 디렉터리의 `Layout.ini` 파일에 저장되며, 디스크 조각 모음은 이를 참조하여 파일들을 물리적 하드 드라이브에 순차적으로 재정렬한다.

사용자는 명령 프롬프트에서 `Defrag.exe %systemdrive% -b` 명령을 실행하여 수동으로 재정렬을 수행할 수 있다.

4. 성능 최적화 및 오해

인터넷에는 프리페처 설정을 임의로 변경하거나 프리페치 폴더의 내용을 삭제하면 성능이 향상된다는 오해가 퍼져있다. 그러나 이는 오히려 성능 저하를 유발할 수 있다. `/prefetch:1` 스위치는 실행 파일의 다른 작동 모드를 구별하기 위해 사용되는 유효한 스위치이지만, 이 스위치를 사용한다고 해서 성능이 향상되는 것은 아니다.[8][9] 또한, 프리페치 폴더를 삭제하면 윈도우가 모든 프리페치 파일을 다시 생성해야 하므로, 파일이 생성될 때까지 부팅 및 프로그램 시작 속도가 느려진다.[10][11][12]

4. 1. `/prefetch:1` 스위치

인터넷에서 흔히 발견되는 `/prefetch:1` 애플리케이션 조정[8]은 유효하지만 오해를 받는 스위치이다. 이 스위치는 실행 파일의 다른 작동 모드를 구별하는 데 사용되는데, 이 다른 모드들이 상당히 다른 프리페치 추적을 가질 경우에 사용된다.[9]

4. 2. 프리페치 폴더 삭제

인터넷에는 컴퓨터 속도를 높이기 위해 프리페치 폴더의 내용을 삭제해야 한다는 속설이 널리 퍼져 있다. 그러나 프리페치 폴더를 삭제하면 Windows는 모든 프리페치 파일을 다시 생성해야 한다. 따라서 프리페치 파일이 생성될 때까지 부팅 및 프로그램 시작 속도가 느려진다.[10][11][12] Windows는 최근 실행된 최대 128개의 프로그램에 대한 프리페치 파일을 Prefetch 폴더에 유지한다.[13]

참조

[1] 서적 Microsoft Windows Internals https://archive.org/[...] Microsoft Press
[2] 간행물 Pre-fetching of pages prior to a hard page fault sequence https://patents.goog[...] 2023-11-16
[3] 웹사이트 MSDN Magazine Homepage http://msdn.microsof[...] 2008-02-23
[4] 웹사이트 Inside the Windows Vista kernel http://www.microsoft[...]
[5] 웹사이트 XP Myths http://home.comcast.[...] 2009-03-17
[6] 웹사이트 Windows Hardware Dev Center http://www.microsoft[...]
[7] 웹사이트 Misinformation and the Prefetch Flag https://learn.micros[...] 2005-05-25
[8] 웹사이트 Misinformation and the Prefetch Flag http://blogs.msdn.co[...] MSDN Blogs 2005-05-25
[9] 웹사이트 Misinformation and the Prefetch Flag http://blogs.msdn.co[...] MSDN Blogs 2005-05-25
[10] 서적 Big Book of Windows Hacks https://books.google[...] "O'Reilly Media, Inc."
[11] 웹사이트 Beware of Bogus XP Advice http://www.edbott.co[...]
[12] 웹사이트 Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS http://msdn.microsof[...] 2008-02-23
[13] 웹사이트 Misinformation and the Prefetch Flag http://blogs.msdn.co[...] MSDN Blogs 2005-05-25
[14] 뉴스 Inside the Windows Vista kernel http://www.microsoft[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com