다음을 통해 공유


SQL Server, 메모리 관리자 개체

적용 대상: SQL Server

Microsoft SQL Server의 Memory Manager 개체는 전체 서버 메모리 사용량을 모니터링하는 카운터를 제공합니다. 전체 서버 메모리 사용량을 모니터링하여 사용자 활동 및 리소스 사용량을 측정하면 성능 병목 상태를 식별하는 데 도움이 될 수 있습니다. SQL Server 인스턴스에서 사용하는 메모리를 모니터링하면 다음을 확인할 수 있습니다.

  • 자주 액세스하는 데이터를 캐시에 저장하기 위한 부적절한 실제 메모리로 인한 병목 현상이 있는 경우. 메모리가 부적절한 경우 SQL Server는 디스크에서 데이터를 검색해야 합니다.

  • 메모리를 더 추가하거나 데이터 캐시 또는 SQL Server 내부 구조에서 더 많은 메모리를 사용할 수 있도록 하여 쿼리 성능을 향상시킬 수 있는 경우

메모리 관리자 카운터

이 표에서는 SQL Server 메모리 관리자 카운터에 대해 설명합니다.

SQL Server 메모리 관리자 카운터 설명
연결 메모리(KB) 연결 유지 관리를 위해 서버에서 사용 중인 총 동적 메모리 양을 지정합니다.
Database Cache Memory(KB) 서버가 현재 데이터베이스 페이지 캐시에 사용하고 있는 메모리 양을 지정합니다.
메모리의 외부 이점 특정 캐시에 메모리를 추가하면 성능이 향상되는 내부 예측입니다. 엔진에서 캐시 간에 메모리 사용량의 균형을 맞추는 데 사용되며, 예기치 않은 캐시 증가로 문제를 해결할 때 지원하는 데 유용합니다. 값은 내부 계산에 따라 정수로 표시됩니다.
Free Memory(KB) 현재 서버에서 사용하지 않는 커밋된 메모리의 양을 지정합니다.
부여된 작업 영역 메모리(KB) 해시, 정렬, 대량 복사 및 인덱스 만들기 작업과 같은 실행 중인 프로세스에 현재 부여된 총 메모리 양을 지정합니다.
Lock Blocks 서버에서 현재 사용 중인 잠금 블록 수를 지정합니다(주기적으로 새로 고침). 잠금 블록은 테이블, 페이지, 행과 같은 개별적인 잠금 리소스를 나타냅니다.
할당된 잠금 블록 할당된 잠금 블록의 현재 수를 지정합니다. 서버 시작 시 할당된 잠금 블록 수와 할당된 잠금 소유자 블록 수는 SQL Server 잠금 구성 옵션에 따라 달라집니다. 더 많은 잠금 블록이 필요한 경우 값이 증가합니다.
메모리 잠금(KB) 서버가 잠금에 사용하는 동적 메모리의 총 양을 지정합니다.
잠금 소유자 블록 서버에서 현재 사용 중인 잠금 소유자 블록 수를 지정합니다(주기적으로 새로 고침). 잠금 소유자 블록은 개별 스레드가 개체에 대한 잠금의 소유권을 나타냅니다. 따라서 세 개의 스레드가 각각 페이지에 공유(S) 잠금이 있는 경우 세 개의 잠금 소유자 블록이 있습니다.
할당된 잠금 소유자 블록 할당된 잠금 소유자 블록의 현재 수를 지정합니다. 서버 시작 시 할당된 잠금 소유자 블록 수와 할당된 잠금 블록 수는 SQL Server 잠금 구성 옵션에 따라 달라집니다. 잠금 소유자 블록이 더 필요하면 이 값을 늘리십시오.
로그 풀 메모리(KB) 서버가 로그 풀에 사용하는 총 동적 메모리 양입니다.
최대 작업 영역 메모리(KB) 해시, 정렬, 대량 복사 및 인덱스 만들기 작업과 같은 프로세스를 실행하는 데 사용할 수 있는 최대 메모리 양을 나타냅니다.
메모리 부여 미해결 작업 영역 메모리 부여를 성공적으로 획득한 총 프로세스 수를 지정합니다.
메모리 부여 보류 중 작업 공간 메모리 부여를 대기 중인 총 프로세스 수를 지정합니다.
최적화 프로그램 메모리(KB) 서버가 쿼리 최적화에 사용하는 총 동적 메모리 양을 지정합니다.
Reserved Server Memory(KB) 서버가 향후 사용을 위해 예약한 메모리 양을 나타냅니다. 이 카운터는 처음에 부여된 현재 사용되지 않는 메모리 양을 보여 줍니다. 이 메모리는 부여된 작업 영역 메모리(KB)표시됩니다.
SQL 캐시 메모리(KB) 서버가 동적 SQL 캐시를 위해 사용 중인 총 동적 메모리 양을 지정합니다.
도난당한 서버 메모리(KB) 서버가 데이터베이스 페이지 이외의 용도로 사용하는 메모리 양을 지정합니다.
Target Server Memory (KB) 서버에서 사용할 수 있는 이상적인 메모리 양을 나타냅니다.
Total Server Memory(KB) 메모리 관리자를 사용하여 서버에서 커밋한 메모리 양을 지정합니다.

예시

sys.dm_os_performance_counters 동적 관리 뷰에서 이 T-SQL 쿼리를 사용하여 이 개체의 쿼리 성능 카운터를 탐색하기 시작합니다.

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Memory Manager%';