NUMA节点000上的PLE低,001上的高


10

我正在查看我们SQL Server上NUMA个节点之间的PLE(页面预期寿命),并且发现了一个相当奇怪的发行版。与001相比,NUMA节点000的PLE非常低。我不确定为什么会这样。我已经检查了环境中的其他多个SQL Server,并且其他生产服务器没有此行为。

系统正在具有256GB Ram的Dell m620上运行SQL Server 2012 Enterprise Edition。这是2插槽,6核(启用HT)的计算机。MAXDOP设置为6。AFAIK内存模块均匀地安装在CPU的内存组中

某些信息告诉我,NUMA节点000还有其他要执行的SQL任务,即其他节点,但是我忘记了在哪里听到/看到它。

在此处输入图片说明

在此处输入图片说明

PLE图像

@@Version 显示:Microsoft SQL Server 2012(SP1)-11.0.3412.0(X64)


2
PLE本身不能说明什么。还有更多的计数器,例如“ 缓冲区节点”和“ 内存节点”,可以使您了解更多信息。最终:是否存在性能问题,还是仅仅是出于好奇?如何分析SQL Server性能
Remus Rusanu 2015年

@RemusRusanu:如果我们手边有性能问题,没人知道:)我纯粹是出于兴趣问。
卡斯珀·勃兰登堡

如果您看到计数器stolen nodes memory KB的值是97G,这是非常高的IMO。内存被盗是内存,不是用于数据库目的,而是由SQL Server用于诸如排序,哈希和其他目的的操作。另一方面,目标和总内存相同。这似乎很奇怪。您必须应用SP2,但我感觉PLE的计算可能不正确
Shanky

好的。我们可能会将SQL2014可视化,而不是安装SP2
Kasper Brandenburg

Answers:


1

如果您有一个读取密集型查询在一个NUMA节点上运行(在本例中为0),则与其他NUMA节点相比,它的页面预期寿命会降低。

那完全正常。

要查看当前正在运行的查询,可以使用Adam Machanic的出色的sp_WhoIsActive。完全免费。有些人甚至每隔X分钟运行一次,然后将数据记录到表中,这样他们就可以回头查看PLE俯冲时的运行情况。


-1

我对NUMA体系结构的理解是,每个节点几乎都是独立的。在这种情况下,他们最终可能会做非常不同的工作。例如,0可能正在执行需要大量物理I / O的查询,而1可能很幸运并在缓冲池中找到了所有数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.