대용량 시스템 볼륨을 백업할 때 백업 프로그램이 실패합니다.

이 문서에서는 대규모 시스템 볼륨을 백업할 때 백업 프로그램이 실패하는 문제에 대한 해결을 제공합니다.

적용 대상: Windows Server 2012 R2, Windows 10 - 모든 버전
원래 KB 번호: 304101

증상

NTBackup.exe 사용하거나 NT Backup API를 사용하는 타사 백업 프로그램을 사용하여 백업을 만들려고 하면 백업이 성공적으로 완료되지 않을 수 있습니다. 이 동작은 서버에서 프로그램을 로컬로 실행하는 경우에도 발생할 수 있습니다. 또한 다음 증상 중 하나 이상이 발생할 수 있습니다.

  • 다음 오류 메시지 중 하나 이상이 애플리케이션 로그에 표시됩니다.
    오류 메시지 1

    오류 1450: 요청된 서비스를 완료하기 위한 시스템 리소스가 부족합니다.

    오류 1450: / 16진수 0x5aa ERROR_NO_SYSTEM_RESOURCES

    운영 체제 오류 1450 요청된 서비스를 완료하기 위한 시스템 리소스가 부족합니다.

    "디바이스"에 쓰기 실패, 상태 = 1450

    오류 메시지 2

    오류 1130: 이 명령을 처리하는 데 사용할 수 있는 서버 스토리지가 부족합니다.

    오류 1130/16진수 0x46a ERROR_NOT_ENOUGH_SERVER_MEMORY

    백업 또는 복원 작업이 비정상적으로 종료됩니다.

  • 서버 서비스에서 이벤트 ID 2020 및 이벤트 ID 2021 메시지를 생성할 수 있습니다.

    참고

    일반적으로 이벤트 ID 2020 및 이벤트 ID 2021 메시지는 표시되지 않습니다.

  • HP(Hewlett-Packard) OmniBack 백업 프로그램을 실행하는 경우 다음과 유사한 오류 메시지가 표시될 수 있습니다.

    [81:78] C:\foldername\file.name

    오프셋 436176408(:1)에서 57256바이트 읽을 수 없음): ([1450]
    요청된 서비스를 완료하기 위한 시스템 리소스가 부족합니다.)

  • Windows 작업 관리자에서 성능 탭을 보면 페이지가 지정되지 않은 커널 메모리가 낮다는 것을 알 수 있습니다.

참고

이 문서에서 설명하는 문제와 관련이 없는 이유로 이러한 오류 메시지가 표시될 수 있습니다. 대용량 시스템 볼륨을 백업할 때만 이러한 오류 메시지가 표시되는 경우 가장 가능성이 큰 두 가지 원인은 이 문서에서 설명하는 것입니다.

이 문제가 발생하는지 확인하려면 Windows 작업 관리자를 시작한 다음 성능 탭을 클릭합니다. 오른쪽 아래에서 커널 메모리(K) 영역을 찾은 다음 Paged 값을 확인합니다. 이 값이 약 160MB(메가바이트)에 도달하면 Microsoft Windows 2000 또는 Microsoft Windows NT 4.0에서 이 문제가 발생할 수 있습니다. 또는 이 값이 160MB를 초과하는 경우 Microsoft Windows Server 2003에서 이 문제가 발생할 수 있습니다. 페이징된 풀 메모리의 레지스트리 키를 더 높은 값으로 설정한 경우 페이징된 풀 메모리의 값이 훨씬 더 높을 때까지 이 문제가 발생하지 않습니다(페이징된 풀 메모리 사용량이 설정된 값의 약 80%에 도달하면 문제가 발생할 수 있음). 풀 태그에 대해 설정이 gflags 켜져 있고 Poolmon 유틸리티를 사용하는 경우 MmSt 태그의 사용량이 더 높습니다. 공유 파일을 추적하는 데 사용되는 운영 체제 메모리를 매핑하는 데 사용되는 풀 태그입니다.

원인

이 문제의 두 가지 원인은 관련이 있습니다. 더 자주 발생하는 원인은 먼저 나열됩니다.

  • 메모리 캐시 관리자가 처리할 수 있는 것보다 많은 파일이 열려 있습니다. 결과적으로 캐시 관리자는 사용 가능한 페이징 풀 메모리를 모두 사용했습니다.

  • 백업 프로그램은 해당 버전의 운영 체제에서 액세스할 수 있는 백업 API보다 크기가 큰 파일을 백업하려고 했습니다. 동일한 결과(즉, 페이징된 풀이 모두 사용됨)가 있습니다.

    참고

    이 두 번째 문제는 Microsoft Windows NT 4.0 기반 컴퓨터에서 발생할 가능성이 높습니다.

각 문제에 대한 해결 방법은 Windows Server 2003, Microsoft Windows 2000 또는 Windows NT 4.0에서 문제가 발생하는지에 따라 다릅니다.

해결 방법

Windows Server 2003 및 Windows 2000

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. Windows XP 및 Windows Server 2003에서 레지스트리를 백업, 편집 및 복원하는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료를 참조하세요.
322756 Windows에서 레지스트리를 백업 및 복원하는 방법

두 개의 레지스트리 설정을 변경해야 할 수 있습니다. 항상 첫 번째 설정을 변경합니다. 시스템의 구성에 따라 두 번째 설정을 변경해야 할 수도 있습니다.

레지스트리 설정 1

  1. 시작, 실행을 차례로 클릭하고 열기 상자에 regedit를 입력한 다음 확인을 클릭합니다.

  2. 다음 레지스트리 하위 키를 찾아서 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. 편집 메뉴에서 새로 만들기를 가리킨 다음 DWORD 값을 클릭합니다.

  4. 항목 이름으로 PoolUsageMaximum을 입력한 다음 Enter 키를 누릅니다.

  5. PoolUsageMaximum을 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.

  6. 10진수를 클릭합니다.

  7. 값 데이터 상자에 60을 입력한 다음 확인을 클릭합니다.

    중요

    • 초기 값으로 60을 사용합니다. 백업이 성공하지 못하면 값으로 40을 사용합니다. 이것이 작동하지 않는 경우 페이징 풀의 수요를 줄이기 위해 백업 프로그램의 동작을 변경해야 합니다. 값이 작동하는 경우 백업이 작동하지 않을 때까지 값을 약 25% 늘릴 수 있습니다. 백업에 실패한 경우 이 문서에 설명된 두 번째 레지스트리 설정을 사용합니다.
    • 이 레지스트리 설정의 값이 60을 초과하지 않는지 확인합니다.
    • /3GB 스위치를 사용하는 경우 초기 설정으로 40을 사용합니다. 이 값은 백분율 값입니다.
  8. 레지스트리 편집기를 종료합니다.

  9. Restart your computer.

가장 스트레스가 많은 백업 중에 이러한 설정을 테스트해야 하므로 가장 많은 리소스를 사용하는 백업이 확실하지 않은 경우 전체 백업 주기가 완료되기까지 한 달 정도 기다려야 할 수 있습니다. 이러한 상황 때문에 먼저 낮은 값을 테스트하는 것이 좋습니다. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인합니다.

312362 서버가 시스템 페이징 풀에서 메모리를 할당할 수 없음

레지스트리 설정 2

  1. 시작을 클릭하고 실행을 클릭하고 열기 상자에 regedit를 입력한 다음 확인을 클릭합니다.

  2. 다음 레지스트리 하위 키를 찾아서 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. 편집 메뉴에서 새로 만들기를 가리킨 다음 DWORD 값을 클릭합니다.

  4. PagedPoolSize를 항목 이름으로 입력한 다음 Enter 키를 누릅니다.

  5. PagedPoolSize를 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.

  6. 16진수 를 클릭합니다.

  7. 값 데이터 상자에 FFFFFFFF 값을 입력한 다음 확인을 클릭합니다.

    중요

    • PagedPoolSize를 0xFFFFFFFF(-1)로 설정하면 컴퓨터에 다른 리소스 대신 최대 페이징 풀이 할당됩니다. 일반적으로 도메인 컨트롤러 또는 터미널 서버에서 필요합니다. 기본적으로 대부분의 Windows 2000 시스템은 페이징 풀 최대 크기 160MB로 제한되는 것 같습니다. 공용 웹 사이트에서 커널 디버거를 다운로드하고 사용하려는 디버거에서 커널 덤프를 열어 이를 확인할 수 있습니다. 사용할 명령은 !vm 입니다. 예를 들어 최대 163840KB의 페이징 풀이 표시됩니다. 이 값을 추가하면 시스템에서 사용할 수 있는 PTE(페이지 테이블 항목)가 줄어들고 Windows 2000에서 페이징 풀을 최대 343MB로 확장합니다. 페이징된 풀 최대 크기는 Windows Server 2003에서 더 큰 값으로 확장할 수 있습니다.

      Windows Server 2003의 기본 및 최대 페이징 풀 값은 Windows 2000보다 훨씬 큽 수 있습니다. 일반적으로 Windows Server 2003 값은 Windows 2000에 있는 값보다 50% 이상 높습니다. 이러한 값이 크면 페이징된 풀 값이 이 문서에 설명된 문제에 영향을 주는 문제가 발생할 가능성이 더 낮습니다. 그러나 여전히 이 문제가 발생할 수 있습니다.

    • 이 값은 사용 가능한 시스템 PTE를 제한합니다. PTE는 시스템에서 사용하는 다른 관련 없는 시스템 리소스입니다. 이 설정으로 인해 운영 체제가 예기치 않게 중지되고 시작 시 파란색 화면에 중지 0x3F 오류가 표시될 수 있습니다. 시스템 다시 시작 메뉴 또는 복구 콘솔에서 마지막으로 알려진 다시 시작 옵션을 사용하여 복구할 수 있습니다. 성능 모니터 사용하여 무료 시스템 페이지 테이블 항목 카운터를 봅니다. 관찰된 무료 값이 40,000을 초과하면 PagePoolSize 설정을 추가할 수 있습니다.

    • /3GB 및 /PAE를 함께 실행하는 경우 광범위한 테스트 없이 환경에 있어야 하는 시스템 PTES 수를 정확하게 설정하기 전에 이 설정을 설정하지 마세요. 10,000-20,000 무료 범위의 값이 표시될 수 있습니다. 문서를 사용하여 페이징된 풀 메모리를 구성하지만 10,000개의 무료 시스템 PTE 아래로 떨어지지 않습니다. /3GB 스위치를 사용하는 경우 다른 값으로 설정하지 마세요. 지원되는 값은 0, 0A000000 및 FFFFFFFF뿐입니다.

  8. 레지스트리 편집기를 종료합니다.

  9. Restart your computer.

Windows NT 4.0

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. Windows XP 및 Windows Server 2003에서 레지스트리를 백업, 편집 및 복원하는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료를 참조하세요.
322756 Windows에서 레지스트리를 백업 및 복원하는 방법

참고

Windows NT 4.0 서비스 팩 6a를 사용해야 합니다.

첫 번째 문제 해결

  1. 레지스트리 편집기(Regedt32.exe)를 시작합니다.

  2. 다음 레지스트리 하위 키를 찾아서 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. 편집 메뉴에서 값 추가를 클릭하고 다음 레지스트리 값을 추가합니다.
    값 이름: UnusedFileCache
    데이터 형식: REG_DWORD
    Radix: Decimal
    값 데이터: 15

    참고

    이 숫자는 사용하지 않는 세그먼트에서 사용할 수 있는 풀의 백분율을 나타냅니다. 값 0은 시스템에서 Windows NT 4.0 서비스 팩 3과 유사한 기본 동작을 사용한다는 것을 나타냅니다. 값이 5~40이면 시스템이 풀 사용량에 따라 사용되지 않는 파일 캐시를 자르게 됩니다. 5는 가장 공격적입니다(즉, 캐시 크기를 최소로 증가)하고 40은 가장 공격적이지 않습니다(즉, 캐시를 자르기 전에 캐시가 가장 크게 증가할 수 있습니다.)

    중요

    • 초기 값으로 15를 사용합니다. 백업이 성공하지 못하면 값으로 5를 사용합니다. 이것이 작동하지 않는 경우 페이징된 풀의 수요를 줄이기 위해 백업 프로그램의 동작을 변경하거나 페이징 풀을 두 배 이상 사용할 수 있는 Windows 2000으로 업그레이드해야 합니다(자세한 내용은 "Windows 2000" 섹션 참조). 이 값이 작동하는 경우 백업이 실패할 때까지 약 20% 늘릴 수 있습니다. 백업에 실패한 경우 이 문서에 설명된 두 번째 레지스트리 설정을 사용합니다.

    • /3GB 스위치를 사용하는 경우 초기 설정으로 5를 사용합니다.

  4. 레지스트리 편집기를 종료합니다.

  5. Restart your computer.

가장 스트레스가 많은 백업 중에 이러한 설정을 테스트해야 하므로 가장 많은 리소스를 사용하는 백업이 확실하지 않은 경우 전체 백업 주기가 완료되기까지 한 달 정도 기다려야 할 수 있습니다. 이 때문에 먼저 낮은 값을 테스트하는 것이 좋습니다.

두 번째 문제 해결

한 가지 가능한 해결 방법은 백업을 제한하여 한 번에 하나의 파일을 백업하는 것입니다. 백업할 파일의 크기에 따라 작동하거나 작동하지 않을 수 있습니다. (180GB보다 작은 파일에서 작동해야 합니다.) 여러 대용량 파일을 백업하는 경우에도 이 해결 방법을 시도할 수 있지만 각 파일은 180GB보다 작습니다. 단계에 따라 첫 번째 문제도 resolve. 180GB보다 큰 파일의 경우 해결 방법이 없습니다. 따라서 시스템을 Windows 2000으로 업그레이드해야 합니다. 해결 방법으로 시스템을 원격으로 백업하려고 하면 동일한 문제가 발생합니다.

  1. 레지스트리 편집기(Regedt32.exe)를 시작합니다.

  2. 다음 레지스트리 하위 키를 찾아서 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management

  3. 편집 메뉴에서 값 추가를 클릭하고 다음 레지스트리 값을 추가합니다.
    값 이름: DisablePagedPoolHint
    데이터 형식: REG_DWORD
    Radix: Decimal
    값 데이터: 1

  4. 레지스트리 편집기를 종료합니다.

  5. Restart your computer.

상태

Microsoft는 "적용 대상" 섹션에 있는 Microsoft 제품에 문제가 있다는 것을 확인했습니다.

추가 정보

NTBackupread 및 NTBackupwrite는 모두 버퍼링된 I/O를 사용합니다. 즉, Windows NT 스트림에 대해 수행되는 I/O를 캐시합니다. 또한 파일의 메타데이터를 백업하는 유일한 API이기도 합니다. 이 캐시는 제한된 리소스, 즉 풀 및 페이지가 없는 풀에서 가져옵니다. 이로 인해 많은 수의 파일 또는 파일이 많으면 풀 리소스가 부족해질 수 있습니다.

페이징된 풀 메모리의 공급이 소진되는 요인은 여러 가지입니다. 풀 태그 지정을 켜고 다른 시간 간격을 사용하여 poolsnaps 페이징된 풀 메모리를 소모하는 드라이버를 파악할 수 있습니다. 에 poolsnaps MmSt 태그(Mm 섹션 개체 프로토타입 PTE)가 가장 큰 소비자이고 80MB를 초과했음을 나타내는 경우 서버에서 많은 수의 파일이 열려 있습니다.

컴퓨터에서 가능한 최대 페이징 풀 메모리는 페이징된 풀 키가 FFFFFFFF로 설정된 Windows 2000의 페이징 풀 343MB 또는 키가 없는 경우 164MB입니다. 가능한 최대 페이징 풀 메모리는 Windows NT 192MB입니다. 기본적으로 메모리 관리자는 시스템이 총 페이징 풀의 80%에 도달하면 할당된 페이징 풀 메모리를 자르려고 합니다. 예를 들어 343MB의 80%는 274MB입니다. 메모리 관리자가 수요를 따라잡을 만큼 빠르게 트리밍할 수 없는 경우 이 문서의 "증상" 섹션에 나열된 이벤트가 발생할 수 있습니다. 메모리 관리자를 조정하여 이전에 트리밍 프로세스를 시작하는 경우(예: 40%에 도달하면) 컴퓨터는 급격한 사용량이 많은 동안 페이징된 풀 수요를 따라가면 페이징된 풀 메모리가 부족하지 않도록 할 수 있습니다.

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 신뢰성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.