我有几个NUMA节点
在SQL Server交流会,经常被问到的一个问题,SQL Server在几个NUMA节点上运行。因此,在今天的文章里,我想向你展示下几个方法和技术,找出你的SQL Server有几个NUMA节点。
需进一步了解NUMA,我推荐你看下NUMA Deep Dive Series from Frank Denneman。
系统级别
首先我想在系统级别向你展示下几个找出你有几个NUMA节点的方法。最简单的方法是使用任务管理器的CPU视图。默认情况任务管理器会向你展示你有几个可用的CPU内核。
从图片里你可以看到,系统这里汇报了你有可用CPU插口数。通常CPU插槽数和你有的NUMA节点数对应。如果你想确认的话,可以修改显示设置为NUMA视图。
修改后,任务管理向你展示了你有的可用NUMA节点——我这里个会4个NUMA节点。
在SysInternals工具里也有个conrinfo.exe工具,也会得到在你的系统里你有的NUMA节点数。这个工具也会告诉你各个NUMA节点之间的延迟时间(latency times)。
SQL Server级别
当你不亲自访问操作系统时,你也可以使用SQL Server找出在你的系统上有几个可用NUMA节点。最简单的方法是查看SQL Server日志。因为在启动期间,SQL Server会汇报检测到的NUMA节点数。
或者你可以查询sys.dm_os_memory_nodes这个DMV,这里SQL Server会汇报可用内存节点。对于每个可用的NUMA节点,SQL Srver会创建一个特定的内存节点(除内存节点ID 64外,它用来阻止管理员专用链接(Dedicated Admin Connection))。
这里你可以看到这个SQL Server运行在2个节点NUMA系统。
小结
在这篇文章里你已看到有很多方法可以找出在你的系统上,你有可用的NUMA节点数。你的SQL Server运行在几个NUMA节点的系统上呢?欢迎留言!
感谢关注!
原文链接
http://www.sqlpassion.at/archive/2016/10/17/how-many-numa-nodes-do-i-have/
注:此文章为WoodyTu学习MS SQL技术,收集整理相关文档撰写,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错请点击下右下角的推荐,有了您的支持才能激发作者更大的写作热情,非常感谢!