sys.dm_os_memory_brokers(Transact-SQL)
SQL Server 내부의 할당은 SQL Server 메모리 관리자를 사용합니다. sys.dm_os_process_memory의 프로세스 메모리 카운터와 내부 카운터 간의 차이를 추적하면 SQL Server 메모리 공간에서 외부 구성 요소의 메모리 사용을 확인할 수 있습니다.
메모리 Broker는 현재 및 예상 사용량에 따라 SQL Server 내의 다양한 구성 요소 사이에 메모리 할당을 적절하게 분산합니다 메모리 Broker는 할당을 수행하지 않고, 분산을 계산하기 위해 할당을 추적만합니다.
다음 표에서는 메모리 Broker에 대한 정보를 제공합니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
memory_broker_type |
nvarchar(60) |
메모리 Broker의 유형입니다. 현재 SQL Server에는 다음과 같은 세 가지 유형의 메모리 Broker가 있습니다.
값설명
MEMORYBROKER_FOR_CACHE캐시된 개체에서 사용하도록 할당된 메모리입니다.
MEMORYBROKER_FOR_STEAL버퍼 풀에서 빼앗긴 메모리입니다. 현재 소유자가 이 메모리를 해제하기 전까지 이 메모리는 다른 구성 요소에서 다시 사용할 수 없습니다.
MEMORYBROKER_FOR_RESERVE현재 실행되고 있는 요청에서 나중에 사용하도록 예약된 메모리입니다.
|
allocations_kb |
bigint |
이 유형의 Broker에 할당된 메모리 양(KB)입니다. |
allocations_per_sec |
int |
이 Broker에 할당된 현재 할당 비율입니다. |
target_allocations_kb |
bigint |
현재 설정 및 메모리 사용량 패턴에 따라 제안되는 할당된 메모리 양(KB)입니다. 이 Broker는 이 수만큼 증가하거나 축소해야 합니다. |
future_allocations_kb |
bigint |
다음 몇 초 동안 완료되는 예상 할당 수(LB)입니다. |
last_notification |
nvarchar(60) |
현재 설정 및 사용량 패턴에 따라 권장되는 메모리 사용량입니다. 유효한 값은 다음과 같습니다.
|
pool_id |
int |
리소스 관리자 풀과 연관된 경우 리소스 풀의 ID입니다. |
allocations_kb_per_sec |
bigint |
초당 메모리 할당 비율(KB)입니다. 메모리 할당 취소의 경우 이 값은 음수가 될 수 있습니다. |
predicated_allocations_kb |
bigint |
Broker에서 할당된 메모리의 예상 양입니다. 이 값은 메모리 양 패턴에 기반합니다. |
overall_limit_kb |
bigint |
Broker가 할당할 수 있는 최대 메모리 양(KB)입니다. |
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.