Answers:
即使该服务器的唯一目的是仅服务MSSQL,您是否仍会手动限制MSSQL的最大RAM?
考虑到这里有SQL Server 2012,这是个值得商topic的话题。如果您对Windows Server 2003/2008上的SQL Server 2005/2008提出相同的问题,由于Windows操作系统(2003/2008)中存在错误,强烈建议设置最大服务器内存限制。但是,如果您提出我的看法,则从SQL Server 2012起和Window Server 2008/2012 r2起,内存配置和OS性能分别发生了显着变化You can leave max server memory configuration to default if you have enough RAM on system and you are just using database engine features.
。本身,如果您有专门用于SQL数据库引擎的系统,则可以将SQL Server的最大服务器内存保留为默认值,SQL Server将对其进行有效管理。
无论如何,如果仍然要配置,可以阅读此SE线程上给出的类似问题和解答
在某些情况下需要最大服务器内存,我在此SE线程中已对此进行了概述
其次,如何检查此Windows服务器是否启用了NUMA?
稍作搜索就会带您到此Blogs.msdn文章。当SQL Server知道NUMA并且正在使用它时,它具有各种图形描述。
SQL NUMA
知道,因此您可以NUMA
使用查询查找信息。您还可以使用此查询来查看NUMA
您拥有多少个节点以及将哪些CPU和内核分配给哪个NUMA
:
SELECT parent_node_id, scheduler_id, cpu_id
FROM sys.dm_os_schedulers WITH (NOLOCK)
WHERE [status] = N'VISIBLE ONLINE';
或多少NUMA
:
select COUNT(distinct Parent_node_id)
from sys.dm_os_schedulers
where [STATUS] = 'VISIBLE ONLINE'
and Parent_node_ID < 64
是的,即使服务器只有一个用途,也应限制SQL Server的最大内存。否则,SQL Server可能会开始使用Windows本身需要良好运行的内存。通常,根据需要,将1GB->总RAM的20%留给Windows。
通过选择一个进程,右键单击并选择“设置关联性”,可以在任务管理器中显示服务器的NUMA配置。Windows资源监视器还显示NUMA信息。