FIX: 메모리 부족 오류가 SQL Server 프로세스의 가상 주소 공간에서 사용 가능한 메모리가 매우 낮은 경우

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:3074434
알림
이 업데이트를 적용 한 후에 추가 해야 하면 추적 플래그-T8075 이 변경 내용을 활성화 하려면 시작 매개 변수로.
현상
64 비트 버전의 2014 Microsoft SQL Server 또는 Microsoft SQL Server 2012에서 쿼리를 실행할 때 SQL Server 오류 로그에 다음과 유사한 메모리 부족 오류 메시지가 나타납니다.

실패 한 페이지를 할당: 513 FAIL_PAGE_ALLOCATION

쿼리 실행 완료 등에 대 한 SOS_MEMORY_TOPLEVELBLOCKALLOCATOR 대기 하는 데 시간이 오래 걸릴.

다음과 같은 정보 사항을 살펴보면, 매우 낮은 사용 가능한 가상 주소 공간이 있는지 찾을 수 있습니다.

  • DBCC MEMORYSTATUS-프로세스/시스템 계산 구역에서 사용 가능한 가상 메모리
  • Sys.dm_os_process_memory: DMV-열 virtual_address_space_available_kb
이러한 값 시작 약 8tb (테라바이트)는 x64에서 처리 하 고 계속 증가 하 고 몇 기가바이트 (GB)에 도달 합니다.

단계에서 사용 가능한 가상 주소 공간은 매우 낮은 때 쿼리를 수행 하려고 메모리 할당 대기 유형의 CMEMTHREAD 발생할 수 있습니다.

다음과 같은 데이터 요소가 시간이 지남에 따라 증가 하도록 계속 됩니다.
  • DMV: sys.dm_os_process_memory 및 sys.dm_os_memory_nodes-열 virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS 메모리 관리자 섹션-VM 예약

최대 8 테라바이트 거의 "최대 서버 메모리" 값의 배수로이 값이 일반적으로 늘어납니다.
원인
때 SQL Server 프로세스에 도달한 상태를 총 서버 메모리 = 대상 서버 메모리 = 최대 서버 메모리는 일시적으로 성공 하려면 여러 개의 8KB 페이지를 요청 하는 새 할당 하도록 SQL Server 메모리 관리자의 정책이. 이러한 조건에서 반복 되는 할당 패턴 블록 메모리의 조각화 및 가상 주소 공간 소모 될 수 있습니다. 이 과정에는 여러 번 반복, SQL Server 가상 주소 공간이 모두 사용 됩니다, 고가 앞에서 언급 한 증상을 알 수 있습니다.
해결 방법

핫픽스 정보

이 문제를 해결 하려면에서 핫픽스를 설치 합니다. FIX: 오류 2014 SQL Server에서에서 연결 된 서버에서 다른 저장된 프로시저를 호출 하는 저장된 프로시저가 있는 경우.

전제 조건

있어야 누적 업데이트 3 SQL Server 2014 서비스 팩 1이 핫픽스를 적용 하려면 설치 된.

공지

이 업데이트를 적용 한 후에 추가 해야 하면 추적 플래그-T8075 이 변경 내용을 활성화 하려면 시작 매개 변수로.

누적 업데이트 정보

문제는 SQL Server 다음 누적 업데이트에 처음 수정 되었습니다.

권장 사항: SQL Server 용 최신 누적 업데이트를 설치 합니다.
SQL Server용 각각의 새로운 누적 업데이트는 모이전 누적 업데이트에 포함된 모든 핫픽스 및 보안 수정 프로그램을 포함합니다. 다운로드 하 고 SQL Server 대 한 최신 누적 업데이트를 설치 하는 것이 좋습니다.


이 핫픽스는 부재 중 메모리와 사용 가능한 가상 주소 공간이 발생할 수 있습니다 지속적인 감소를 방지 합니다.
현재 상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
추가 정보
  • Windows 2012 R2 가상 주소 공간을을 128 TB로 커질 수 있습니다. 따라서 Windows 2012 R2 환경에서 이러한 문제를 알 수 없습니다. 자세한 내용은 Windows 개발자 센터의 다음 항목을 참조.

    Windows 및 Windows Server 버전에 대 한 메모리 한계
  • 수정 프로그램을 적용 한 후에 지속적인 성장 가상 주소 공간에 표시 되 면 쿼리 또는 작업을 요청 하는 많은 양의 메모리를 사용 하 여 확인할 수 있는 Page_allocated 확장 된 이벤트입니다. 예제 스크립트는 다음과 같습니다.

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO
    일반적으로 이것은 로그 백업 및 인덱스 유지 관리 작업을 자주 수행 하는.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 3074434 - 마지막 검토: 10/10/2016 02:15:00 - 수정: 9.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3074434 KbMtko
피드백