SQL Server 2012筆記分享-6:理解內存管理

內存管理 – SQL Server 2005/2008/2008r2html

SQL Server 2012之前的版本(SQL 2005/2008/2008R2),有single page allocator 和multi page allocator。也就是說,若是申請的內存是8k之內的,就會有單頁分配器分配,而大於8kb的內存請求,使用multi page 分配器來管理。如圖所示。sql

使用select * from sys.dm_os_memory_clerks查詢memory clerk,會發現single pages 和multi pages 兩列。ide

clipboard

內存管理 – SQL Server 2012spa

SQL Server 2012裏面再也不有single page allocator 和multi page allocator,而是把它們統一塊兒來了,叫作 any size page allocator。如圖所示。server

使用select * from sys.dm_os_memory_clerks查詢memory clerk,會發現single page 和multi page字樣消失了,只剩下pages 字樣。htm

clipboard[1]

從上面的圖能夠看出,SQL Server 2012 使用memory Manager來統一響應SQL Server 內部各類組件內存申請的請求。在SQL Server 2012裏面,max server memory 再也不像之前的版本那樣,只控制buffer pool的大小,也包括那些大於8kb 的內存請求。max server memory 可以更準確地控制SQL Server 的內存使用了。blog

參考文檔:ip

Memory Manager Configuration changes in SQL Server 2012內存

http://sqlblog.com/blogs/sqlos_team/archive/2012/07/12/memory-manager-configuration-changes-in-sql-server-2012.aspx文檔

SQL Server 2012 內存管理 (memory management) 改進

http://www.cnblogs.com/stswordman/p/3239754.html

相關文章
相關標籤/搜索