데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

SQL Server Memory Manager 변화

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

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
1930 트랜잭션 백업 실패와 전체 백업 성공 그리고 대처 방안 jevida(강성욱) 2016.10.13 1540
1929 Fast recovery 와 로그 잠금 jevida(강성욱) 2016.10.13 2021
1928 고스트 클린업 jevida(강성욱) 2016.10.13 2246
1927 페이지 분할이 발생 하였을 때 롤백을 하면 어떻게 될까? jevida(강성욱) 2016.10.13 1640
1926 DBCC WRITEPAGE - DBCC 명령을 사용한 데이터 파괴하기 jevida(강성욱) 2016.10.13 1641
1925 SQL Server Backup Error 3023 jevida(강성욱) 2016.10.13 2248
1924 Delete 작업과 페이지 offset 변화 jevida(강성욱) 2016.10.13 1477
1923 트랜잭션 로그 및 LSN을 이용한 삭제된 데이터 복구 jevida(강성욱) 2016.10.13 5052
1922 PFX 형식의 인증서를 SQL Server에서 사용하기 jevida(강성욱) 2016.10.13 1149
1921 SQL Server NUMA 메모리 노드와 Operating System 접근 jevida(강성욱) 2016.10.13 1290
1920 SQL Server 에러 핸들링 비용 비교 jevida(강성욱) 2016.10.13 1302
1919 압축 백업 시 Checksum 옵션으로 손상 확인하기 jevida(강성욱) 2016.10.13 1633
1918 SQL Server 2012 Memory Manager 구성 jevida(강성욱) 2016.10.13 1263
» SQL Server Memory Manager 변화 jevida(강성욱) 2016.10.13 1480
1916 Ring_Buffer_Resource_Monitor jevida(강성욱) 2016.10.13 994
1915 SQL Server 프로파일러 템플릿 만들기 jevida(강성욱) 2016.10.13 1335
1914 SQL Server 메모리 병목 현상 식별 jevida(강성욱) 2016.10.13 1770
1913 SQL Server 시작 옵션 사용 jevida(강성욱) 2016.10.13 1787
1912 Ring buffer를 활용한 External Memory Pressure 확인 jevida(강성욱) 2016.10.12 1272
1911 Memory Pressure jevida(강성욱) 2016.10.12 1122





XE Login