SQL Server 2012笔记分享-6:理解内存管理
內(nèi)存管理 – SQL Server 2005/2008/2008r2
SQL Server 2012以前的版本(SQL 2005/2008/2008R2),有single page allocator 和multi page allocator。也就是說(shuō),如果申請(qǐng)的內(nèi)存是8k以?xún)?nèi)的,就會(huì)有單頁(yè)分配器分配,而大于8kb的內(nèi)存請(qǐng)求,使用multi page 分配器來(lái)管理。如圖所示。
使用select * from sys.dm_os_memory_clerks查詢(xún)memory clerk,會(huì)發(fā)現(xiàn)single pages 和multi pages 兩列。
內(nèi)存管理 – SQL Server 2012
SQL Server 2012里面不再有single page allocator 和multi page allocator,而是把它們統(tǒng)一起來(lái)了,叫做 any size page allocator。如圖所示。
使用select * from sys.dm_os_memory_clerks查詢(xún)memory clerk,會(huì)發(fā)現(xiàn)single page 和multi page字樣消失了,只剩下pages 字樣。
從上面的圖可以看出,SQL Server 2012 使用memory Manager來(lái)統(tǒng)一響應(yīng)SQL Server 內(nèi)部各種組件內(nèi)存申請(qǐng)的請(qǐng)求。在SQL Server 2012里面,max server memory 不再像以前的版本那樣,只控制buffer pool的大小,也包括那些大于8kb 的內(nèi)存請(qǐng)求。max server memory 能夠更準(zhǔn)確地控制SQL Server 的內(nèi)存使用了。
參考文檔:
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 內(nèi)存管理 (memory management) 改進(jìn)
http://www.cnblogs.com/stswordman/p/3239754.html
總結(jié)
以上是生活随笔為你收集整理的SQL Server 2012笔记分享-6:理解内存管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序员的十大烦恼
- 下一篇: mysql中varchar与intege