我究竟如何解决 MEMORY_ALLOCATION_EXT 等待?

tux*_*nia 5 memory sql-server database-administration

我们在 SQL Server 2016 中有一个服务器环境。服务器是虚拟化的,这意味着它共享内存和 CPU。

最近,如果压力很大,即排序构建哈希表等。我们看到内存使用量的大幅增长是可以预期的。

然而我们看到很多

MEMORY_ALLOCATION_EXT 

RESERVED_MEMORY_ALLOCATION_EXT
Run Code Online (Sandbox Code Playgroud)

等等。

所以服务器有足够的内存,我们最近也将内存增加了一倍,但内存等待仍然存在。

从监视服务器状态来看,它似乎不需要更多内存,但是您认为导致这些等待的原因是什么?

小智 5

Paul Randall说忽略是安全的 "MEMORY_ALLOCATION_EXT",他的指导非常可靠;查看"WHERE [wait_type] NOT IN"查询上的谓词。

因为RESERVED_MEMORY_ALLOCATION_EXT我会设置一个扩展事件来缓存哪些特定事务正在等待并查看它们的执行计划。我不确定它与实际系统或用户交易有关。