天天看點

SQLOS 記憶體管理器元件的關系

記憶體節點

記憶體節點是記憶體被劃為了幾塊。在numa體系中一個numa節點對應一個記憶體節點。

主要功能是提供配置設定位置。這句話來自 sql server 求生秘笈 很難了解。應該是配置設定記憶體用的。也可以了解為實體記憶體最原始的位置。

記憶體clerk

記憶體clerk,如果記憶體管理器的用戶端需要配置設定記憶體,那麼必須先建立記憶體clerk。

dmv 

2008:傳回 SQL Server 執行個體中目前處于活動狀态的全部記憶體 Clerk 的集合。

2012:傳回 SQL Server 執行個體中目前處于活動狀态的全部記憶體配置設定器的集合。

幹嘛要翻譯成記憶體clerk呢,翻譯成配置設定器多好大家都看的懂。

記憶體對象

記憶體對象是一個堆,通過請求記憶體clerk配置設定記憶體,有3中類型的記憶體對象。

1.可變的記憶體對象

2.遞增的記憶體對象

3.固定大小的記憶體對象

緩存

緩存在sql server 裡面主要是2類一個是 buffer pool 一個是 高速過程緩存

buffer pool 由 8k固定大小的配置設定器 和 頁緩存組成

圖上面的各個框都解釋了一下,接下來講講圖,這個圖的tip 是記憶體管理器的元件及其關系。

但是我看來感覺像是記憶體配置設定的過程。

1個記憶體對象通過頁配置設定器 可以從buffer pool 中擷取記憶體,也可以從記憶體clerk中擷取記憶體。但是2者的記憶體終究是來至于 記憶體節點的,可以看出 實際安裝的記憶體。記憶體的配置設定隻是把實體記憶體的指針賦給了一個變量

    本文轉自 Fanr_Zh 部落格園部落格,原文連結:http://www.cnblogs.com/Amaranthus/archive/2012/03/15/2397780.html,如需轉載請自行聯系原作者