2016-10-08 1 views
2

우리는 SQL Server 2016에 서버 환경을 가지고 있습니다. 서버는 가상화되어있어 메모리와 CPU를 공유합니다.정확히 MEMORY_ALLOCATION_EXT 문제를 해결할 수 있습니까?

최근에는 스트레스가 심한 경우 즉, 건물 해시 테이블 등을 정렬하는 경우 예상했던 메모리 사용량이 크게 증가하는 것으로 나타납니다.

그러나 우리는 많은

MEMORY_ALLOCATION_EXT 

RESERVED_MEMORY_ALLOCATION_EXT 

대기를 참조하십시오.

따라서 서버의 메모리가 충분하고 최근에 메모리가 두 배로 늘었지만 여전히 메모리 대기 상태가 유지됩니다.

서버 상태를 모니터링 할 때 메모리가 더 필요하지는 않지만 그 대기 시간의 원인이 무엇이라고 생각하십니까?

+0

서버가 VM으로 실행되는 것 같습니다. RAM을 Dram 또는 정적 램으로 할당 했습니까? – TheGameiswar

+0

좋은 질문입니다. DBA 나 시스템 관리자가 아닌 개발자 만 있으므로 말할 수 없습니다. – tuxmania

+0

다음 이미지를 확인하고 질문을 업데이트하십시오. https://www.google.com/imgres? imgurl = http : //sqlmag.com/content/content/143229/Otey-SQL2346-Fig1-lg.jpg&imgrefurl = http : //sqlmag.com/database-virtualization/using-hyper-v-dynamic-memory-sql-server&h=679&w=725&tbnid=FDC_cQYyD1WjJM : & tbnh = 160 & tbnw = 171 & docid = PEL6Hx8qwq0a2M & client = firefox-b-ab & usg = ___ qOEM1yH39HikuhN9rDFpOgfkG8 = & sa = X & ved = 0ahUKEwiGzsisx83PAhUBs48KHQsSC7cQ9QEIITAA – TheGameiswar

답변

0

폴 랜달 says that it is safe to ignore"MEMORY_ALLOCATION_EXT" 그의지도는 매우 신뢰할 만하다. 쿼리에서 술어 "WHERE [wait_type] NOT IN"을보십시오.

RESERVED_MEMORY_ALLOCATION_EXT의 경우 Extended Event을 설정하면 특정 트랜잭션이 대기하는 데 걸리는 시간과 캐시의 실행 계획을 확인할 수 있습니다. 나는 그것이 실제 시스템이나 사용자 거래와 관련이 있다는 것에 긍정적이지 않다.

관련 문제