February 21, 2014 at 8:12 am
Hello All
Can someone explain why (using DBCC Memorystatus) I can see that all my locked pages allocation is allocated to Memory Node 1 and none is allocated to Memory Node 0?
Will this affect performance with foreign page costs etc?
See DBCC Memorystatus output below:
Memory Manager
VM Reserved280830968
VM Committed3542648
Locked Pages Allocated176826880
Reserved Memory1024
Reserved Memory In Use0
Memory Node Id = 0
VM Reserved14912
VM Committed14472
Locked Pages Allocated0
MultiPage Allocator12872
SinglePage Allocator12854120
Memory Node Id = 1
VM Reserved280812408
VM Committed3524636
Locked Pages Allocated176826880
MultiPage Allocator1915904
SinglePage Allocator12854304
February 21, 2014 at 9:08 am
This link seems to answer the question
.....The buffer pool has a single clerk to track BPool activity so all locked pages and reserved values are accounted for using a single clerk. The NUMA node where the BPool class is initialized will own the clerk and it appears that all the allocations took place on a single node.
The output below appears to show that all the allocations are taking place on node id = 1. The SinglePage Allocator also shows the same value for all nodes. There is a single (SPA) single page allocator that works with the buffer pool so this value is reported the same across all nodes as well.
....
There is nothing in the memory status to show the real breakdown of the BPool (hashed) pages and such for indicating the foreign aspect. This comes from the performance counters. The following query will show the Target Pages, Total pages and Foreign pages for each node. (Taken from my single NUMA system.)
select * from sys.dm_os_performance_counters
where object_name like '%Buffer Node%'
Conclusion
Use the SQL Server performance counters to determine the foreign and target memory distribution across NUMA nodes.
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply