我服务器上的 SQL Server 实例几乎占用了物理服务器的全部内存。假设我有 8GB 的 RAM,那么 SQL Server 会使用系统中 7.8GB 的 RAM。我也读过文章,也在这个论坛上读过许多类似的问题,我知道内存是保留的,它正在使用内存。
但是我有 2 台相同的服务器和 2 台 SQL Server,为什么这种情况只发生在一个 SQL 实例上,而不发生在其他实例上。此外,当我运行 DBCC MemoryStatus 时,它会显示...
VM Reserved 8282008
VM Committed 537936
因此从中我们知道 SQL 保留了整个 8GB 内存,但为什么这个 VM Committed 一直在增加。我的理解是 VM Committed 是:
VM 已提交:此值显示 SQL Server 已提交的 VAS 总量。已提交的 VAS 已与物理内存关联。
所以这是 SQL Server 已提交的内存(从中我了解到 SQL Server 实际上是在实例中使用的物理内存)。
所以我想知道为什么我的服务器上的 VM 已分配内存不断增加,而其他服务器上却没有。提前致谢。
答案1
答案2
VM Reserved 8282008
= 物理内存占用和配置的内存设置中的较大者,或者:
SELECT CAST(value_in_use AS INT) * 1024 FROM sys.configurations WHERE name = 'max server memory (MB)'
SELECT physical_memory_in_bytes / 1024 FROM sys.dm_os_sys_info
VM Committed 537936
= SQL Server此时实际使用的内存。