文章編號: 907877 - 上次校閱: 2007年11月20日 - 版次: 1.2 如何使用 DBCC MEMORYSTATUS 指令來監視 SQL Server 2005 上的記憶體使用量
在此頁中結論本文將告訴您 DBCC MEMORYSTATUS 命令的輸出。 這個命令經常用來疑難排解 Microsoft SQL Server 記憶體耗用問題。 本文將告訴您如需的記憶體用量摘要、 為彙總記憶體資訊、 輸入緩衝區通訊群組資訊、 輸入緩衝區集區資訊, 以及如需程序快取資訊為記憶體管理員的輸出項目 同時也說明有關全域記憶體物件、 需關於查詢記憶體物件的有關記憶體 brokers 有關最佳化, 和輸出。 INTRODUCTIONDBCC MEMORYSTATUS 命令提供的 Microsoft SQL Server 目前的記憶體狀態的快照集。 您可以使用這個命令從輸出如果要疑難排解在 SQL Server 記憶體耗用問題或是要疑難排解特定的 Out - of - 記憶體錯誤。 (多 Out - of - 記憶體錯誤自動列印錯誤記錄檔中的這個輸出) Microsoft 客戶支援服務也可能會要求在特定支援事件, 您執行這個命令如果您遇到錯誤, 其可能會與記憶體不足有關聯。 注意 效能監視器 ] (PerfMon) 及 「 工作管理員 」 會負責處理記憶體如果已啟用 Address Windowing 延伸 (AWE) 支援正確。 本篇文章描述一些資料, 您可以從 DBCC MEMORYSTATUS 命令的輸出取得。 本篇文章的數個區段包含專屬實作詳細資料, 將無法在這裡說明。 Microsoft 客戶支援服務不會回答任何問題或提供有關意義的詳細資訊的特定計數器超過在本篇文章提供的資訊。 其他相關資訊 重要事項 的 DBCC MEMORYSTATUS 命令是用來是用來 Microsoft 客戶支援服務的診斷工具。 受限於 service pack 和產品版本之間變更的輸出格式和詳細資料, 提供的層級。 功能, DBCC MEMORYSTATUS 命令提供可能會換成不同機制在較新版本產品。 因此, 在產品較新版本, 這個命令可能會失去作用。 此命令在變更或移除之前, 將不會進行任何額外的警告。 因此, 使用此命令的應用程式可能會中斷在沒有預警的情況下。 已經從舊版的 SQL Server 變更的 DBCC MEMORYSTATUS 命令輸出。 現在輸出包含數個區段, 而無法在舊版產品。 記憶體管理員第一個區段的輸出是記憶體管理員。 本章節會顯示由 SQL Server 整體記憶體的消耗量。Memory Manager KB ------------------------------ -------------------- VM Reserved 1761400 VM Committed 1663556 AWE Allocated 0 Reserved Memory 1024 Reserved Memory In Use 0 (5 row(s) affected)
記憶體使用量的摘要記憶體管理員 」 區段後面跟著的記憶體使用量為每個記憶體節點之摘要。 在, Non - Uniform 記憶體啟用存取 (NUMA) 系統會為每個硬體 NUMA 節點記憶體對應的節點項目。 將會在 SMP 系統, 記憶體單個項目節點。請注意 記憶體的節點識別碼可能不會對應到硬體識別碼節點。 Memory node Id = 0 KB ------------------------------ -------------------- VM Reserved 1757304 VM Committed 1659612 AWE Allocated 0 MultiPage Allocator 10760 SinglePage Allocator 73832 (5 row(s) affected) 本節中的元素如下所示:
彙總記憶體下一個區段包含針對每個 Clerk 型別, 以及針對每個節點 NUMA 彙總記憶體資訊。 針對 NUMA - 已啟用系統, 您可能會看到與下列很類似, 輸出。請注意 下列資料表包含僅部分的輸出。 MEMORYCLERK_SQLGENERAL (node 0) KB ---------------------------------------------------------------- -------------------- VM Reserved 0 VM Committed 0 AWE Allocated 0 SM Reserved 0 SM Commited 0 SinglePage Allocator 592 MultiPage Allocator 2160 (7 row(s) affected) MEMORYCLERK_SQLGENERAL (node 1) KB ---------------------------------------------------------------- -------------------- VM Reserved 0 VM Committed 0 AWE Allocated 0 SM Reserved 0 SM Commited 0 SinglePage Allocator 136 MultiPage Allocator 0 (7 row(s) affected) MEMORYCLERK_SQLGENERAL (Total) KB ---------------------------------------------------------------- -------------------- VM Reserved 0 VM Committed 0 AWE Allocated 0 SM Reserved 0 SM Commited 0 SinglePage Allocator 728 MultiPage Allocator 2160 (7 row(s) affected) 為 SMP 系統, 將會看到為每個 Clerk 型別只有一節。 本節與下列很類似。 MEMORYCLERK_SQLGENERAL (Total) KB ---------------------------------------------------------------- -------------------- VM Reserved 0 VM Committed 0 AWE Allocated 0 SM Reserved 0 SM Commited 0 SinglePage Allocator 768 MultiPage Allocator 2160 (7 row(s) affected)
緩衝區通訊群組下一節顯示分佈 8 - KB (KB) 緩衝區的緩衝區集區中。Buffer Distribution Buffers ------------------------------ ----------- Stolen 553 Free 103 Cached 161 Database (clean) 1353 Database (dirty) 38 I/O 0 Latched 0 (7 row(s) affected)
緩衝區集區詳細資料您可以藉由使用 sys.dm_os_buffer_descriptors DMV 取得緩衝區集區緩衝區之資料庫頁面詳細資訊。 您可以取得詳細資訊, 藉由使用 sys.dm_os_memory_clerks DMV 被用於其他伺服器目的緩衝區分頁集區。下一節列出詳細資料緩衝集區加上額外的資訊。 Buffer Counts Buffers ------------------------------ -------------------- Committed 1064 Target 17551 Hashed 345 Stolen Potential 121857 External Reservation 645 Min Free 64 Visible 17551 Available Paging File 451997 (8 row(s) affected)
程序快取下一節說明的程序快取架構。Procedure Cache Value ------------------------------ ----------- TotalProcs 4 TotalPages 25 InUsePages 0 (3 row(s) affected)
全域記憶體物件下一節包含各種全域記憶體物件資訊。 本節也包含多少記憶體全域記憶體物件使用資訊。Global Memory Objects Buffers ------------------------------ -------------------- Resource 126 Locks 85 XDES 10 SETLS 2 SE Dataset Allocators 4 SubpDesc Allocators 2 SE SchemaManager 44 SQLCache 41 Replication 2 ServerGlobal 25 XP Global 2 SortTables 2 (12 row(s) affected)
查詢記憶體物件下一節描述查詢記憶體授權資訊。 本章節包含了快照集的查詢記憶體使用量。 查詢記憶體也稱為 工作區記憶體 。Query Memory Objects Value ------------------------------ ----------- Grants 0 Waiting 0 Available (Buffers) 14820 Maximum (Buffers) 14820 Limit 10880 Next Request 0 Waiting For 0 Cost 0 Timeout 0 Wait Time 0 Last Target 11520 (11 row(s) affected) Small Query Memory Objects Value ------------------------------ ----------- Grants 0 Waiting 0 Available (Buffers) 640 Maximum (Buffers) 640 Limit 640 (5 row(s) affected) 本節中的元素如下所示:
最佳化下一節是摘要的使用者正嘗試在同一時間最佳化查詢的人。Optimization Queue Value ------------------------------ -------------------- Overall Memory 156672000 Last Notification 1 Timeout 6 Early Termination Factor 5 (4 row(s) affected) Small Gateway Value ------------------------------ -------------------- Configured Units 8 Available Units 8 Acquires 0 Waiters 0 Threshold Factor 250000 Threshold 250000 (6 row(s) affected) Medium Gateway Value ------------------------------ -------------------- Configured Units 2 Available Units 2 Acquires 0 Waiters 0 Threshold Factor 12 (5 row(s) affected) Big Gateway Value ------------------------------ -------------------- Configured Units 1 Available Units 1 Acquires 0 Waiters 0 Threshold Factor 8 (5 row(s) affected) 請注意 此數量並沒有包含要執行查詢所需記憶體。 在查詢啟動時, 在多少個查詢可被編譯就沒有限制。 在記憶體耗用量會增加和達到臨界值, 查詢必須通過閘道來繼續執行。 就在每個閘道的同時編譯查詢漸進地降低限制。 每個閘道的大小取決於平台和載入。 閘道大小是選擇要延展性和輸送量最大化。 如果無法傳遞閘道, 將查詢該查詢會等待, 直到可用的記憶體。 或, 查詢將傳回逾時錯誤 (Error 8628)。 除此之外, 查詢可能會不取得閘道如果偵測到死結 (Deadlock) 或使用者取消查詢。 如果數個閘道, 將查詢傳遞查詢, 直到完成編譯 (Compilation) 處理序不會釋放較小的閘道。 這個行為讓同時發生只一些需要大量記憶體編譯。 除此之外, 最大這個行為化輸送量為較小的查詢。 記憶體 brokers快取記憶體、 偷來的記憶體及保留記憶體控制項接著三個區段顯示記憶體 brokers 資訊。 這幾節將提供資訊, 只能以進行內部診斷。 因此, 這項資訊不是詳細在這裡。MEMORYBROKER_FOR_CACHE Value -------------------------------- -------------------- Allocations 1843 Rate 0 Target Allocations 1843 Future Allocations 0 Last Notification 1 (4 row(s) affected) MEMORYBROKER_FOR_STEAL Value -------------------------------- -------------------- Allocations 380 Rate 0 Target Allocations 1195 Future Allocations 0 Last Notification 1 (4 row(s) affected) MEMORYBROKER_FOR_RESERVE Value -------------------------------- -------------------- Allocations 0 Rate 0 Target Allocations 1195 Future Allocations 0 Last Notification 1 (4 row(s) affected) 這篇文章中的資訊適用於:
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。如果您發現錯誤,並想要協助我們進行改善,請填寫本篇文章下方的問卷。 按一下這裡查看此文章的英文版本:907877?
(http://support.microsoft.com/kb/907877/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


回此頁最上方
