최대 메모리가 24GB로 설정된 SQL Server 2016 SP1이 있습니다.
이 서버에는 많은 수의 컴파일이 있으며이 컴파일 중 10 %만이 Ad-Hoc 쿼리에서 발생합니다. 따라서 새로 컴파일 된 계획은 계획 캐시에 저장해야하지만 계획 캐시의 크기는 증가하지 않습니다 (약 3.72GB).
캐시에서 계획을 제거하는 로컬 메모리 부족이 의심됩니다. 계획 캐시 압력 한계는 5GB입니다. (0-4GB에서 보이는 대상 메모리의 75 % + 4GB-64GB에서 보이는 대상 메모리의 10 % + 보이는 대상 메모리의 5 %> 64GB). 캐시 저장소가 압력 한계의 75 %에 도달하면 캐시에서 계획을 제거해야합니다. 필자의 경우 5GB의 75 %는 3.75GB입니다. 따라서 이것이 높은 컴파일의 원인이라는 것은 그럴듯합니다.
캐시에서 계획에서 제거를 측정하는 방법 (퍼프 먼, 확장 이벤트 등)이 있습니까? 그래서 로컬 메모리 압력이 실제로 높은 컴파일의 원인이라고 확신 할 수 있습니까?