我有一个最近从 SQL Express 升级的 SQL Server 2014 Standard (x64) 实例。
SQL 实例所在的 VM 具有 ~16GB 的 RAM,并且 SQL MAX MEMORY 已配置为使用 ~12GB
我想在配置时了解:max server memory (MB) = 12000
,为什么当我使用以下查询验证 SQL 实例时,它的消耗量不超过 ~4154MB:
select (physical_memory_in_use_kb/1024) usage_in_MB
from sys.dm_os_process_memory
max server memory
是您允许 SQL 使用的最大值。这主要设置为为其他进程(如操作系统)留下内存,或者如果您在一台机器上有多个实例。SQL 只使用它所需要的内存,因此当 SQL 不需要它时,内存使用量低得多并不罕见。
即使您认为 SQL 应该使用更多 CPU,有时它也会选择不使用。我有一些我想要更加努力地工作的索引重组作业,但它们永远不会使用超过 10% 或 20% 的 CPU。自己看看,制作几个“丑陋”的索引,然后使用你选择的工具来处理
fix
它们。在大多数单实例配置中,当您有 16GB 时将 Max 设置为 12GB 是一个很好的平衡选择。
运行它来检查配置:
如果您仍然担心它不会访问最低至 8GB 的内存,请查看值是否相应更改:
将其设置回第一次调用中观察到的值以将其重置为正常。