SQL Server 的内存使用情况

SQL Server 的内存使用情况

我服务器上的 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

SQL Server 可能正在内存中缓存数据以便加快将来的查询速度。

SQL Server 和 RAM

我猜你的两台服务器在不同的负载下。

答案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此时实际使用的内存。

相关内容