sys.dm_os_memory_nodes(Transact-SQL)
SQL Server 내부의 할당은 SQL Server 메모리 관리자를 사용합니다. sys.dm_os_process_memory의 프로세스 메모리 카운터와 내부 카운터 간의 차이를 추적하면 SQL Server 메모리 공간에서 외부 구성 요소의 메모리 사용을 확인할 수 있습니다.
노드는 물리적 NUMA 메모리 노드별로 생성됩니다. 이는 sys.dm_os_nodes의 CPU 노드와 다를 수 있습니다.
Windows 메모리 할당 루틴을 통한 직접적인 할당은 추적되지 않습니다. 다음 표에는 SQL Server 메모리 관리자 인터페이스를 통해서만 이루어진 메모리 할당에 대한 정보가 나와 있습니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
memory_node_id |
smallint |
메모리 노드의 ID를 지정합니다. sys.dm_os_memory_clerks의 memory_node_id와 관련되어 있습니다. Null을 허용하지 않습니다. |
virtual_address_space_reserved_kb |
bigint |
물리적 페이지에 커밋 또는 매핑되지 않은 가상 주소 예약의 크기(KB)를 나타냅니다. Null을 허용하지 않습니다. |
virtual_address_space_committed_kb |
bigint |
물리적 페이지에 커밋 또는 매핑된 가상 주소 크기(KB)를 지정합니다. Null을 허용하지 않습니다. |
locked_page_allocations_kb |
bigint |
SQL Server에 의해 잠긴 물리적 메모리 크기(KB)를 지정합니다. Null을 허용하지 않습니다. |
pages_kb |
bigint |
Memory Manager 페이지 할당자에 의해 이 NUMA 노드에서 할당되는 커밋된 메모리 크기(KB)를 지정합니다. Null을 허용하지 않습니다. |
shared_memory_reserved_kb |
bigint |
이 노드에서 예약된 공유 메모리 크기(KB)를 지정합니다. Null을 허용하지 않습니다. |
shared_memory_committed_kb |
bigint |
이 노드에서 커밋된 공유 메모리 크기(KB)를 지정합니다. Null을 허용하지 않습니다. |
cpu_affinity_mask |
bigint |
내부적으로만 사용됩니다. Null을 허용하지 않습니다. |
online_scheduler_mask |
bigint |
내부적으로만 사용됩니다. Null을 허용하지 않습니다. |
processor_group |
smallint |
내부적으로만 사용됩니다. Null을 허용하지 않습니다. |
foreign_committed_kb |
bigint |
다른 메모리 노드에서 커밋된 메모리 크기(KB)를 지정합니다. Null을 허용하지 않습니다. |
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
호환성 지원
SQL Server 2012에서는 다음 열의 이름이 바뀌었습니다.
이전 열 이름 |
새 열 이름 |
---|---|
single_pages_kb |
pages_kb |
multi_pages_kb |
foreign_committed_kb |