SQL Server Memory Manager 변화

jevida(강성욱) 2016.10.13 06:25 Views : 1563

SQL Server Memory Manager 변화

 

  • Version : SQL Server 2012

 

SQL Server 2012에서 메모리 관련 DMV 및 DBCC MEMORYSTATUS, 성능모니터가 일부 재설계 되었다.

 

새롭게 디자인된 메모리 관리자를 그림으로 요약하면 다음과 같다.

 

[DMV]

Sys.dm_os_memory_nodes

단일 및 다중 페이지 할당 통합은 sys.dm_os_memory_nodes의 pages_kb 컬럼에 반영된다. 새로운 foreign_committed_kb 카운터는 SQL Server 2012에서 제공되는 NUMA 관리로 원격 메모리 노드를 식별한다. 원격 메모리 노드에 속한 느린 메모리 액세스 문제를 해결하는 유용하다.

SQL Server 2012

SQL Server 2008R2

Pages_kb

Single_pages_kb + multi_pages_kb

Foreign_committed_kb

 

 

 

Sys.dm_os_sys_info

메인 메모리 관리자 변경 메모리 카운터를 표준화 할 수 있다.

SQL Server 2012

SQL Server 2008R2

physical_memory_kb

physical_memory_in_bytes

virtual_memory_kb

virtual_memory_in_bytes

committed_kb

bpool_committed

committed_target_kb

bpool_commit_target

visible_target_kb

bpool_visible

 

 

Sys.dm_os_memory_cache_counters

SQL Server 2012

SQL Server 2008R2

Pages_kb

single_pages_kb + multi_pages_kb

pages_in_use_kb

single_pages_in_use_kb + multi_pages_in_use_kb

 

 

sys.dm_os_memory_cache_entries

SQL Server 2012

SQL Server 2008R2

pages_kb

pages_allocated_count

 

 

sys.dm_os_memory_clerks

SQL Server 2012

SQL Server 2008R2

pages_kb

single_pages_kb + multi_pages_kb

page_size_in_bytes

page_size_bytes

 

 

sys.dm_os_memory_objects

SQL Server 2012

SQL Server 2008R2

pages_in_bytes

pages_allocated_count

max_pages_in_bytes

max_pages_allocated_count

 

 

[DBCC MEMORYSTATUS]

이전에 있던 대부분의 DBCC 메모리 카운터는 수정 된 아키텍처를 반영하기 위해 Memory Manager에서 통합 되었다.

SQL Server 2012

SQL Server 2008R2

Memory Manager \Large Pages Allocated

 

Memory Manager \Emergency Memory

Memory Manager \Reserved Memory

Memory Manager \ EmergencyMemory In Use

Memory Manager \Reserved Memory In Use

Memory Manager \Target Committed (KB)

Buffer Pool \Target (Pages)

Memory Manager \Current Committed (KB)

Buffer Pool \Committed (Pages)

Memory Manager \Pages Allocated (KB)

Buffer Pool \Stolen (Pages) + Buffer Pool \ Database (Pages)

Memory Manager \Pages Reserved (KB)

Buffer Pool \Reserved (Pages)

Memory Manager \Pages Free (KB)

Buffer Pool \ Free(Pages)

Memory Manager \Pages In Use

 

Memory Manager \Page Alloc Potential (KB)

Buffer Pool \Stolen Potential (Pages)

Memory Manager \NUMA Growth Phase

 

Memory Manager \Last OOM Factor

Buffer Pool \ LastOOM Factor

Memory Manager \Last OS Error

 

Memory Manager \Large Pages Allocated

 

Memory Manager \Emergency Memory

Memory Manager \Reserved Memory

Memory Manager \Emergency Memory In Use

Memory Manager \Reserved Memory In Use

Memory Manager \Target Committed (KB)

Buffer Pool \Target (Pages)

Memory Manager \ CurrentCommitted (KB)

Buffer Pool \Committed (Pages)

Memory Manager \Pages Allocated (KB)

Buffer Pool \Stolen (Pages) + Buffer Pool \ Database (Pages)

Memory Manager \Pages Reserved (KB)

Buffer Pool \Reserved (Pages)

Memory Manager \Pages Free (KB)

Buffer Pool \ Free(Pages)

Memory Manager \Pages In Use

 

Memory Manager \Page Alloc Potential (KB)

Buffer Pool \Stolen Potential (Pages)

Memory Manager \NUMA Growth Phase

 

Memory Manager \Last OOM Factor

Buffer Pool \ LastOOM Factor

Memory Manager \Last OS Error

 

Memory node Id = n\ Pages Allocated

Memory node Id = n\ MultiPage Allocator + Memory node Id = n \ SinglePage Allocator

Memory node Id = n\ Target Committed

 

Memory node Id = n\ Current Committed

 

Memory node Id = n\ Foreign Committed

 

Memory node Id = n\ Away Committed

 

Memory Clerks \Pages Allocated

Memory Clerks \SinglePage Allocator + Memory Clerks \ MultiPage Allocator

 

 

[Perfmon Counter]

성능 모니터에서는 몇 가지 AWE 관련 카운터가 제거 되었다.

SQL Server 2012

SQL Server 2008R2

Object - SQLServer:MemoryManager

Object - SQLServer:BufferManager

Database Cache Memory (KB)

Database pages

Free Memory (KB)

Free pages

Reserved Server Memory (KB)

Reserved pages

Stolen Server Memory (KB)

Stolen pages

TargetServer Memory(KB)

Targetpages

TotalServer Memory (KB)

Totalpages

 

AWElookup maps / sec

 

AWE stolen maps / sec

 

AWEwrite maps /sec

 

AWEunmapcalls / sec

 

AWEunmappages / sec

Object -SQLServer:Memory Node

Object -SQLServer:Buffer Node

Database NodeMemory (KB)

Database pages

Free Node Memory(KB)

Free pages

Foreign Node Memory(KB)

Foreign pages

Stolen Node Memory(KB)

Stolen pages

Target Node Memory(KB)

Target pages

Total Node Memory(KB)

Total pages

 

 

 

[참고자료]

http://blogs.msdn.com/b/sqlosteam/archive/2012/07/11/memory-manager-surface-area-changes-in-sql-server-2012.aspx

 

 



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 42815
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 22719
1934 확장이벤트를 사용하여 데드락 정보 확인 jevida(강성욱) 2016.10.15 1666
1933 확장 이벤트를 사용한 CPU 고부하 쿼리 추적 [1] jevida(강성욱) 2016.10.15 2236
1932 데이터에 대한 이해와 spill in tempdb jevida(강성욱) 2016.10.13 1827
1931 로그 파일이 많으면 왜 안 좋은가 jevida(강성욱) 2016.10.13 2132
1930 트랜잭션 백업 실패와 전체 백업 성공 그리고 대처 방안 jevida(강성욱) 2016.10.13 1622
1929 Fast recovery 와 로그 잠금 jevida(강성욱) 2016.10.13 2088
1928 고스트 클린업 jevida(강성욱) 2016.10.13 2354
1927 페이지 분할이 발생 하였을 때 롤백을 하면 어떻게 될까? jevida(강성욱) 2016.10.13 1712
1926 DBCC WRITEPAGE - DBCC 명령을 사용한 데이터 파괴하기 jevida(강성욱) 2016.10.13 1712
1925 SQL Server Backup Error 3023 jevida(강성욱) 2016.10.13 2456
1924 Delete 작업과 페이지 offset 변화 jevida(강성욱) 2016.10.13 1560
1923 트랜잭션 로그 및 LSN을 이용한 삭제된 데이터 복구 jevida(강성욱) 2016.10.13 5879
1922 PFX 형식의 인증서를 SQL Server에서 사용하기 jevida(강성욱) 2016.10.13 1217
1921 SQL Server NUMA 메모리 노드와 Operating System 접근 jevida(강성욱) 2016.10.13 1370
1920 SQL Server 에러 핸들링 비용 비교 jevida(강성욱) 2016.10.13 1362
1919 압축 백업 시 Checksum 옵션으로 손상 확인하기 jevida(강성욱) 2016.10.13 1758
1918 SQL Server 2012 Memory Manager 구성 jevida(강성욱) 2016.10.13 1305
» SQL Server Memory Manager 변화 jevida(강성욱) 2016.10.13 1563
1916 Ring_Buffer_Resource_Monitor jevida(강성욱) 2016.10.13 1095
1915 SQL Server 프로파일러 템플릿 만들기 jevida(강성욱) 2016.10.13 1433





XE Login