日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Buffer Pool--内存总结2

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Buffer Pool--内存总结2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按內存劃分:

1.DATABASE CACHE

? ? 用于存放數據頁面的緩沖區,8KB每頁

2.各項組件

? ? A)數據庫連接(CONNECTION)

? ? B)通用數據,如果事務上下文,表和索引的元數據

? ? C)執行計劃(QUERY PLAN),語句和存儲過程的執行計劃

? ? D)查詢優化器(Optimizer)

? ? E)Utilities,如BCP,Log Manager,Backup tools,parallel queries and so on

3.線程內存

? ? Each thread use 0.5MB memory to store data structure and relative infomation

4.The third application apply memeory

? ? like link server, sql mail, user defined CLR,Extended stored procedure,dirver ect

?

Divided by Apply method:

1.Reserved and committed memory, reserved first and then committed.

2.Stolen memory,commited without reserving memory.

?

SQL SERVER never use AWE for stolen memery

?

?

Divided by Page size:

1.Single page memory,the applied memory is equal or less then 8KB

2.Multiple page memory(MemToLeave), the applied?memery is bigger than 8KB

?

the most part of memery in MemToLeave is not charged by SQL SERVER

?

SQL SERVER使用Memory Clerk來管理SQL SERVER內存的分配和回收,因此可以使用sys.dm_os_memory_clerks 來查看內存使用情況,注意sys.dm_os_memory_clerks反應的內存不包括第三方代碼使用的內存。

?

SELECT M.type,

sum(M.virtual_memory_reserved_kb) AS VirtualMemoryReservedKB,

SUM(M.virtual_memory_committed_kb) AS VirtualMemortCommitedKB,

SUM(M.shared_memory_committed_kb) AS SharedMemroyCommittedKB,

SUM(M.shared_memory_reserved_kb) AS SharedMemroyReservedKB,

SUM(M.multi_pages_kb) AS MultiPagesKB,

SUM(M.single_pages_kb) AS SinglePagesKB,

SUM(M.multi_pages_kb)+SUM(M.single_pages_kb) AS TotalPagesKB

FROM sys.dm_os_memory_clerks M

GROUP BY M.type

ORDER BY TotalPagesKB DESC

?

?

?

查看表中數據在緩沖池中的信息

SELECT name AS TabelName,

index_id AS IndexId,

COUNT(*)AS CachedPageCount,

CAST(COUNT(*)*8.0/1024 AS INT) AS CachedMemoryMB?

FROM sys.dm_os_buffer_descriptors AS bd?

? ? INNER JOIN?

? ? (

? ? ? ? SELECT OBJECT_NAME(OBJECT_ID) AS name?

? ? ? ? ? ? ,index_id ,allocation_unit_id

? ? ? ? FROM sys.allocation_units AS au

? ? ? ? ? ? INNER JOIN sys.partitions AS p?

? ? ? ? ? ? ? ? ON au.container_id = p.hobt_id?

? ? ? ? ? ? ? ? ? ? AND (au.type = 1 OR au.type = 3)

? ? ? ? UNION ALL

? ? ? ? SELECT OBJECT_NAME(OBJECT_ID) AS name ??

? ? ? ? ? ? ,index_id, allocation_unit_id

? ? ? ? FROM sys.allocation_units AS au

? ? ? ? ? ? INNER JOIN sys.partitions AS p?

? ? ? ? ? ? ? ? ON au.container_id = p.partition_id?

? ? ? ? ? ? ? ? ? ? AND au.type = 2

? ? ) AS obj?

? ? ? ? ON bd.allocation_unit_id = obj.allocation_unit_id

WHERE database_id = DB_ID()

GROUP BY name, index_id?

ORDER BY CachedMemoryMB DESC;

轉載于:https://www.cnblogs.com/TeyGao/p/3519001.html

總結

以上是生活随笔為你收集整理的Buffer Pool--内存总结2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。