Did some performance counters like Free Pages disappear in SQL 2012?
Answer: Yes.
Why were the performance counters changed in SQL 2012?: The Memory Manager component of SQLOS was redesigned in SQL Server 2012 and hence some perfmon counters have been changed accordingly. If you have been using the Free Pages performance monitor counter for monitoring SQL memory usage/pressure under the “Buffer Manager”, “Buffer Partition” or “Buffer Node” object in SQL Server 2008 R2 or previous versions then you should know that the Free Pages counter is no longer available in SQL Server 2012. Some counters have been standardized as "kb" rather than bytes or pages and a new Memory Node object has now been added in SQL 2012. Hence instead of Free Pages counter, you can now use Free Memory (kb) or Free Node Memory (KB) in 2012 and instead of Total Pages you can use Total Node Memory (KB) and so on. Also as AWE is now removed from the product, the corresponding counters are also gone.
I queried the sys.dm_os_performance_counters DMV to compare the counters available in SQL 2008 R2 and SQL 2012:
Buffer Node and the new Memory Node counters:
SQL 2008 R2 |
SQL 2012 |
Buffer Manager counters:
SQL 2008 R2 |
SQL 2012 |
Memory Manager counters:
SQL 2008 R2 |
SQL 2012 |
Bottom Line: If you have been using specific counters for monitoring SQL memory usage then be aware of these changes in SQL 2012 and change your monitoring and alerting mechanism accordingly. And it’s not only the perfmon counters that have changed due to redesign of the Memory Manager component, there are changes to some memory related DMVs and the DBCC memory status output.
For a detailed list of all the changes refer to the following blog by the SQLOS team:
Comments
Anonymous
January 21, 2014
Thank you for the details.Anonymous
September 23, 2014
Thanks for the difference in details, have you any idea how to get the free pages in the new design I can't see how to get the counter now