为什么使用 TSQL 和 GUI 得到的内存数字不同?

为什么使用 TSQL 和 GUI 得到的内存数字不同?

我准备在服务器 RAM 升级后提高我们的max server memory价值。我正在测试 SQL Server 上的命令,但我不知道为什么使用 T-SQL 和 GUI 看到的结果不同。我将测试服务器上的内存更改为 24GB,如下所示:

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 24576;  
GO  
RECONFIGURE;  
GO  

在 GUI 中我看到 24576。

但是使用下面的查询,我看到的是 22421。我做错了什么?

SELECT (physical_memory_in_use_kb/1024) AS Used_Memory_By_SqlServer_MB
FROM sys.dm_os_process_memory

答案1

您的查询返回的是 SQL 使用的内存,而不是它允许消耗的最大服务器内存。

如何使用 T-SQL 获取 SQL 实例的最小和最大内存分配?

这将向您展示如何通过查询获取该值。

SELECT name, value, value_in_use, [description] 
FROM sys.configurations
WHERE name like '%server memory%'
ORDER BY name OPTION (RECOMPILE);

相关内容