วิธีการใช้คำสั่ง MEMORYSTATUS DBCC เพื่อตรวจสอบการใช้หน่วยความจำใน SQL Server 2005

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 907877 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายผลลัพธ์ของคำสั่ง DBCC MEMORYSTATUS คำสั่งนี้ถูกใช้บ่อยครั้งการแก้ไขปัญหาตามปริมาณการใช้หน่วยความจำของ Microsoft SQL Server

บทความนี้อธิบายองค์ประกอบของผลลัพธ์สำหรับตัว จัดการหน่วยความจำ สำหรับสรุปการใช้หน่วยความจำ ข้อมูลหน่วยความจำรวม ข้อมูลการกระจายบัฟเฟอร์ สำหรับข้อมูลที่เก็บบัฟเฟอร์ และ สำหรับกระบวนการทำแคชข้อมูล ดังกล่าวยังอธิบายผลลัพธ์ เกี่ยวกับวัตถุหน่วยความจำทั้งหมด เกี่ยวกับวัตถุหน่วยความจำแบบสอบถาม เกี่ยวกับการปรับให้เหมาะสม และ เกี่ยวกับ brokers หน่วยความจำ

บทนำ

คำสั่ง MEMORYSTATUS DBCC แสดง snapshot ของสถานะปัจจุบันของหน่วยความจำของ Microsoft SQL Server คุณสามารถใช้คำสั่งนี้ได้จาก การแก้ไขปัญหาเกี่ยวกับการใช้หน่วยความจำใน SQL Server หรือ การแก้ไขปัญหาข้อผิดพลาดของหน่วยความออกแบบของจำเฉพาะ (ข้อผิดพลาดของหน่วยความออกแบบของจำจำนวนมากโดยอัตโนมัติพิมพ์ผลลัพธ์นี้ในการล็อกข้อผิดพลาด) บริการการสนับสนุนลูกค้าของ Microsoft อาจจะขอให้ คุณเรียกใช้คำสั่งนี้ในระหว่างการเกิดปัญหาในการสนับสนุนเฉพาะถ้าคุณกำลังประสบกับข้อความแสดงข้อผิดพลาดที่อาจเกี่ยวข้องกับเงื่อนไขที่มีหน่วยความจำต่ำ

หมายเหตุ:การตรวจสอบประสิทธิภาพการทำงาน (PerfMon) และตัวจัดการงานไม่บัญชีสำหรับหน่วยความจำอย่างถูกต้องถ้ามีการเปิดใช้งานการสนับสนุน Extentions Windowing อยู่ (AWE)

บทความนี้อธิบายข้อมูลที่คุณสามารถดูจากเอาพุตของคำสั่ง MEMORYSTATUS DBCC บางส่วน ส่วนต่าง ๆ ของบทความนี้รวมรายละเอียดลกรรมสิทธิ์การใช้งานที่จะไม่อธิบายต่อไปนี้ ฝ่ายบริการสนับสนุนลูกค้าของ Microsoft จะไม่ตอบคำถามใด ๆ หรือให้ข้อมูลเพิ่มเติมเกี่ยวกับความหมายของตัวนับที่ระบุเกินกว่าข้อมูลที่ระบุในบทความนี้

ข้อมูลเพิ่มเติม

สิ่งสำคัญคำสั่ง MEMORYSTATUS DBCC มีไว้เพื่อให้เครื่องมือการวินิจฉัยสำหรับบริการสนับสนุนลูกค้าของ Microsoft รูปแบบของผลลัพธ์และระดับของรายละเอียดที่ให้ไว้จะต้องเปลี่ยนแปลงระหว่าง service pack และรุ่นผลิตภัณฑ์ ฟังก์ชันการทำงานที่มีคำสั่ง MEMORYSTATUS DBCC อาจถูกแทนที่ โดยกลไกที่แตกต่างกันในผลิตภัณฑ์เวอร์ชันที่ใหม่กว่า ดังนั้น ในรุ่นผลิตภัณฑ์หลัง คำสั่งนี้อาจไม่ทำงาน ไม่มีคำเตือนเพิ่มเติมจะถูกทำก่อนที่การเปลี่ยนแปลง หรือเอาคำสั่งนี้ ดังนั้น โปรแกรมประยุกต์ที่ใช้คำสั่งนี้อาจหยุด โดยไม่มีการแจ้งเตือน

มีการเปลี่ยนแปลงการแสดงผลของคำสั่ง MEMORYSTATUS DBCC จากรุ่นก่อนหน้าของ SQL Server ผลผลิตในขณะนี้ประกอบด้วยส่วนต่าง ๆ ที่พร้อมใช้งานในผลิตภัณฑ์เวอร์ชันก่อนหน้านี้

ตัวจัดการหน่วยความจำ

ส่วนแรกของผลลัพธ์เป็นตัวจัดการ หน่วยความจำ ส่วนนี้แสดงโดยรวมการใช้หน่วยความจำ โดย 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)
องค์ประกอบในส่วนนี้มีข้อมูลต่อไปนี้:
  • vm ที่จองไว้: ค่านี้แสดงยอดเงินโดยรวมของพื้นที่ว่างที่อยู่เสมือน (VAS) ที่มีสำรองของ sql server
  • vm ที่กำหนด: ค่านี้แสดงยอดเงินโดยรวมของ VAS ที่มีกำหนด SQL Server VAS ที่มุ่งมั่นที่ได้รับการเชื่อมโยงกับหน่วยความจำกายภาพ
  • awe ที่ปันส่วน: ค่านี้แสดงยอดเงินโดยรวมของหน่วยความจำที่มีการปันส่วนผ่านทางกลไก AWE บน SQL Server รุ่น 32 บิต หรือ นี้ค่าการแสดงยอดเงินโดยรวมของหน่วยความจำที่ถูกล็อกเพจที่ใช้เนื้อที่บนเวอร์ชัน 64 บิตของผลิตภัณฑ์
  • หน่วยความจำที่สงวนไว้: ค่านี้แสดงหน่วยความจำที่สงวนไว้สำหรับการเชื่อมต่อโดยเฉพาะผู้ดูแลระบบ (DAC)
  • หน่วยความจำที่สงวนไว้ในระหว่างการใช้: ค่านี้แสดงหน่วยความจำที่สงวนไว้ที่กำลังถูกใช้

สรุปการใช้หน่วยความจำ

ส่วนตัวจัดการหน่วยความจำเป็นแล้วตาม ด้วยการสรุปการใช้หน่วยความจำสำหรับแต่ละโหนหน่วยความจำ ในระบบการเข้าถึง (NUMA) เปิดใช้งานหน่วยความจำ uniform ไม่ใช่ จะมีรายการโหนหน่วยความจำที่สอดคล้องกันสำหรับแต่ละโหน 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)
หมายเหตุ:ค่าเหล่านี้แสดงหน่วยความจำที่มีการปันส่วน โดยเธรดที่เรียกใช้บนโหนดนี้ NUMA ค่าเหล่านี้จะไม่หน่วยความจำที่อยู่ภายในเครื่องไปยังโหน NUMA

องค์ประกอบในส่วนนี้มีข้อมูลต่อไปนี้:
  • vm ที่จองไว้: ค่านี้แสดง VAS ที่จองไว้ โดยเธรดที่เรียกใช้บนโหนดนี้
  • vm ที่กำหนด: ค่านี้แสดง VAS ที่กำหนด โดยเธรดที่เรียกใช้บนโหนดนี้
  • awe ที่ปันส่วน: ค่านี้แสดงหน่วยความจำที่มีการปันส่วนผ่านทางกลไก AWE ในผลิตภัณฑ์รุ่น 32 บิต หรือ ค่านี้แสดงยอดเงินโดยรวมของหน่วยความจำที่ใช้ โดยเพจที่ถูกล็อกอยู่รุ่น 64 บิตของผลิตภัณฑ์

    ในระบบเปิดใช้งาน NUMA ค่านี้อาจไม่ถูกต้อง หรือค่าลบ อย่างไรก็ตาม ทั้งawe ที่ปันส่วนvalue in the Memory Manager section is a correct value. To track memory that is allocated by individual NUMA nodes, useSQL Server: Buffer Nodeperformance objects. (For more information, seeหนังสือเซิร์ฟเวอร์ sql แบบออนไลน์.)
  • MultiPage Allocator: This value shows the memory that is allocated through the multipage allocator by threads that are running on this node. This memory comes from outside the buffer pool.
  • SinglePage Allocator: This value shows the memory that is allocated through the single-page allocator by threads that are running on this node. This memory is stolen from the buffer pool.
หมายเหตุ:The sums of theVM Reservedvalues and theVM Committedvalues on all memory nodes will be slightly less than the corresponding values that are reported in the Memory Manager section.

Aggregate memory

The next section contains aggregate memory information for each clerk type and for each NUMA node. For a NUMA-enabled system, you may see output that is similar to the following.

หมายเหตุ:The following table contains only part of the output.
   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)
หมายเหตุ:These node IDs correspond to the NUMA node configuration of the computer that is running SQL Server. The node IDs include possible software NUMA nodes that are defined on top of hardware NUMA nodes or on top of an SMP system. To find mapping between node IDs and CPUs for each node, view Information event ID number 17152. This event is logged in the Application log in Event Viewer when you start SQL Server.

For an SMP system, you will see only one section for each clerk type. This section is similar to the following.
   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)
Other information in these sections is about shared memory:
  • SM Reserved: This value shows the VAS that is reserved by all clerks of this kind that are using the memory-mapped files API. This API is also known asshared memory.
  • SM Committed: This value shows the VAS that is committed by all clerks of this kind that are using memory-mapped files API.
You can obtain summary information for each clerk type for all memory nodes by using thesys.dm_os_memory_clerksdynamic management view (DMV). To do this, run the following query:
select 
	type,
	sum(virtual_memory_reserved_kb) as [VM Reserved],
	sum(virtual_memory_committed_kb) as [VM Committed],
	sum(awe_allocated_kb) as [AWE Allocated],
	sum(shared_memory_reserved_kb) as [SM Reserved], 
	sum(shared_memory_committed_kb) as [SM Committed],
	sum(multi_pages_kb) as [MultiPage Allocator],
	sum(single_pages_kb) as [SinlgePage Allocator]
from 
	sys.dm_os_memory_clerks 
group by type

Buffer distribution

The next section shows the distribution of 8-kilobyte (KB) buffers in the buffer pool.
   Buffer Distribution            Buffers
   ------------------------------ -----------
   Stolen                         553
   Free                           103
   Cached                         161
   Database (clean)               1353
   Database (dirty)               38
   I/O                            0
   Latched                        0

   (7 row(s) affected)
The elements in this section are the following:
  • Stolen:Stolen memorydescribes 8-KB buffers that the server uses for miscellaneous purposes. These buffers serve as generic memory store allocations. Different components of the server use these buffers to store internal data structures. The lazywriter process is not permitted to flush Stolen buffers out of the buffer pool.
  • ว่าง: This value shows committed buffers that are not currently being used. These buffers are available for holding data. Or, other components may request these buffers and then mark these buffers asStolen.
  • Cached: This value shows the buffers that are used for various caches.
  • Database (clean): This value shows the buffers that have database content and that have not been modified.
  • Database (dirty): This value shows the buffers that have database content and that have been modified. These buffers contain changes that must be flushed to disk.
  • I/O: This value shows the buffers that are waiting for a pending I/O operation.
  • Latched: This value shows thelatchedbuffers. A buffer is latched when a thread is reading or modifying the contents of a page. A buffer is also latched when the page is being read from disk or written to disk. A latch is used to maintain physical consistency of the data in the page while it is being read or modified. A lock is used to maintain logical and transactional consistency.

Buffer pool details

You can obtain detailed information about buffer pool buffers for database pages by using thesys.dm_os_buffer_descriptorsDMV. And you can obtain detailed information about buffer pool pages that are being used for miscellaneous server purposes by using thesys.dm_os_memory_clerksDMV.

The next section lists details about the buffer pool plus additional information.
   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)
The elements in this section are the following:
  • Committed: บัฟเฟอร์ทั้งหมดที่มีแสดงค่านี้สัญญา. บัฟเฟอร์ที่กำหนดให้มีหน่วยความจำกายภาพที่เกี่ยวข้องกับแฟ้มเหล่านั้น กระบวนการสัญญาค่ามีขนาดปัจจุบันของเก็บบัฟเฟอร์ ค่านี้มีหน่วยความจำกายภาพที่มีการปันส่วนถ้าเปิดใช้งานการสนับสนุน AWE
  • เป้าหมาย: ค่านี้แสดงขนาดของเป้าหมายของที่เก็บบัฟเฟอร์ ถ้าการเป้าหมายค่ามีขนาดใหญ่กว่านั้นสัญญาค่า เติบถูกพูบัฟเฟอร์ ถ้าการเป้าหมายค่าน้อยกว่าสัญญาลดค่า เก็บบัฟเฟอร์ที่มีขนาด
  • hashed: ค่านี้แสดงหน้าข้อมูลและหน้าดัชนีที่จัดเก็บไว้ในที่เก็บบัฟเฟอร์
  • โอกาสถูกโจรกรรม: ค่านี้แสดงหน้าสูงสุดที่สามารถถูกโจรกรรมจากพูบัฟเฟอร์
  • ExternalReservation: ค่านี้แสดงหน้าที่ที่ได้ถูกสำรองสำหรับการสอบถามที่จะทำการดำเนินการเรียงลำดับหรือการดำเนินการแฮช เพจเหล่านี้ได้ไม่ได้ถูกโจรกรรม
  • นาทีที่ว่าง: ค่านี้แสดงหน้าที่พูบัฟเฟอร์พยายามที่จะมีอยู่บนรายการที่ว่าง
  • มองเห็นได้: ค่านี้แสดงบัฟเฟอร์ที่จะปรากฏพร้อม บัฟเฟอร์เหล่านี้สามารถเข้าถึงโดยตรงได้ในเวลาเดียวกัน ค่านี้มักจะเท่ากับบัฟเฟอร์ที่รวมอยู่ อย่างไรก็ตาม เมื่อมีการเปิดใช้การสนับสนุน AWE ค่านี้อาจมีค่าน้อยกว่าบัฟเฟอร์ที่รวมกัน
  • แฟ้มเพจจิ้งที่พร้อมใช้งาน: ค่านี้แสดงหน่วยความจำที่พร้อมใช้งานได้ถูกยอมรับ ค่านี้ถูกแสดงเป็นจำนวนกิโลไบต์ 8 บัฟเฟอร์ สำหรับข้อมูลเพิ่มเติม ให้ดูที่หัวข้อ "GlobalMemoryStatusEx ฟังก์ชัน" ในเอกสารประกอบ Windows API

ขั้นตอนการแคช

ส่วนถัดไปอธิบาย makeup ของกระบวนการแคช
   Procedure Cache                Value
   ------------------------------ -----------
   TotalProcs                     4
   TotalPages                     25
   InUsePages                     0

   (3 row(s) affected)
องค์ประกอบในส่วนนี้มีข้อมูลต่อไปนี้:
  • TotalProcs: ค่านี้แสดงวัตถุเก็บไว้ชั่วคราวทั้งหมดที่ปัจจุบันอยู่ในแคชกระบวนการ ค่านี้จะตรงกับรายการบัญชีในนั้นsys.dm_exec_cached_plansdmv

    หมายเหตุ:เนื่องจากการลักษณะแบบไดนามิกของรายละเอียดนี้ ตรงกันอาจไม่ได้แน่นอน คุณสามารถใช้ PerfMon เพื่อตรวจสอบsql Server: แคชของการวางแผนวัตถุและsys.dm_exec_cached_plansDMV สำหรับรายละเอียดเกี่ยวกับชนิดของวัตถุที่เก็บไว้ชั่วคราว เช่นทริกเกอร์ กระบวนการ และวัตถุชั่วคราว
  • TotalPages: ค่านี้แสดงหน้าสะสมที่คุณต้องมีเพื่อเก็บออบเจ็กต์ที่เก็บไว้ชั่วคราวทั้งหมดในขั้นตอนการแคช
  • InUsePages: ค่านี้แสดงหน้ากระดาษในแคชกระบวนงานที่เชื่อมโยงกับกระบวนการที่กำลังเรียกใช้งาน เพจเหล่านี้ไม่สามารถถูกละทิ้ง

หน่วยความจำที่ส่วนกลางวัตถุ

ส่วนถัดไปประกอบด้วยรายละเอียดเกี่ยวกับวัตถุหน่วยความจำทั้งหมดที่แตกต่างกัน ส่วนนี้ประกอบด้วยข้อมูลเกี่ยวกับจำนวนหน่วยความจำหน่วยความจำส่วนกลางวัตถุใช้ด้วย
   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)
องค์ประกอบในส่วนนี้มีข้อมูลต่อไปนี้:
  • ทรัพยากร: ค่านี้แสดงหน่วยความจำทรัพยากรวัตถุที่ใช้ทั้งหมด กระบวนการทรัพยากรวัตถุที่ใช้งาน โดยเอ็นจินการเก็บข้อมูล และโครงสร้างทั้งเซิร์ฟเวอร์ต่าง ๆ
  • การล็อก: ค่านี้แสดงหน่วยความจำที่ใช้ตัวจัดการ'ล็อก'
  • xdes: ค่านี้แสดงหน่วยความจำที่ใช้ตัวจัดการทรานแซคชัน
  • setls: ค่านี้แสดงหน่วยความจำที่ใช้ในการจัดสรรโครงสร้างต่อเธรดที่เก็บโปรแกรมเฉพาะที่ใช้เก็บภายในของเธรด
  • ชุดข้อมูล SE Allocators: ค่านี้แสดงหน่วยความจำที่ใช้ในการจัดสรรโครงสร้างสำหรับการเข้าถึงตารางที่ผ่าน การวิธีการเข้าถึงการตั้งค่า
  • Allocators SubpDesc: ค่านี้แสดงหน่วยความจำที่ใช้สำหรับการจัดการ subprocesses สำหรับแบบสอบถามแบบขนาน การดำเนินการสำรองข้อมูล การดำเนินการคืนค่า การดำเนินการฐานข้อมูล การดำเนินการแฟ้ม มิเรอร์ และเคอร์เซอร์แบบอะซิงโครนัส subprocesses เหล่านี้จะเรียกว่ากระบวนการแบบขนาน.
  • SchemaManager SE: ค่านี้แสดงหน่วยความจำที่ตัวจัดการแบบแผนใช้ในการเก็บข้อมูลเมตาของที่เก็บโปรแกรมเฉพาะ
  • SQLCache: ค่านี้แสดงหน่วยความจำที่ถูกใช้เพื่อเก็บข้อความ ของการรายงานเฉพาะกิจ และ ของคำชี้แจงพร้อม
  • การคัดลอก: ค่านี้แสดงหน่วยความจำที่เซิร์ฟเวอร์ที่ใช้สำหรับการจำลองแบบภายใน subsystems
  • ServerGlobal: ค่านี้แสดงวัตถุในหน่วยความจำเซิร์ฟเวอร์ส่วนกลางที่ใช้เป็น generically subsystems หลาย
  • xp สากล: ค่านี้แสดงหน่วยความจำขยายการใช้กระบวนงานที่เก็บไว้
  • เรียงลำดับตาราง: ค่านี้แสดงหน่วยความจำที่เรียงลำดับตารางที่ใช้

แบบสอบถามวัตถุหน่วยความจำ

ส่วนถัดไปอธิบายข้อมูล grant หน่วยความจำแบบสอบถาม ส่วนนี้ประกอบด้วย snapshot ของการใช้งานหน่วยความจำแบบสอบถาม มีหน่วยความจำแบบสอบถามหรือที่เรียกว่าหน่วยความจำของพื้นที่ทำงาน.
   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)
ถ้าขนาดและต้นทุนของการสอบถามตอบสนอง thresholds หน่วยความจำแบบสอบถาม “เล็ก ” แบบสอบถามถูกย้ายในคิวการสอบถามขนาดเล็ก This behavior prevents smaller queries from being delayed behind larger queries that are already in the queue.

องค์ประกอบในส่วนนี้มีข้อมูลต่อไปนี้:
  • อนุมัติ: This value shows the running queries that have memory grants.
  • Waiting: This value shows the queries that are waiting to obtain memory grants.
  • Available: This value shows the buffers that are available to queries for use as hash workspace and as sort workspace. กระบวนการAvailablevalue is updated periodically.
  • จำนวนสูงสุด: This value shows the total buffers that can be given to all queries for use as workspace.
  • ขีดจำกัด: This value shows the query execution target for the big query queue. This value differs from theMaximum (Buffers)value because theMaximum (Buffers)value is not updated until there is change in the queue.
  • Next Request: This value shows the memory request size, in buffers, for the next waiting query.
  • Waiting For: This value shows the amount of memory that must be available to run the query to which theNext Requestvalue refers. กระบวนการWaiting Forvalue is theNext Requestvalue multiplied by a headroom factor. This value effectively guarantees that a specific amount of memory will be available when the next waiting query is run.
  • Cost: This value shows the cost of the next waiting query.
  • Timeout: This value shows the time-out, in seconds, for the next waiting query.
  • Wait Time: This value shows the elapsed time, in milliseconds, since the next waiting query was put in the queue.
  • Last Target: This value shows the overall memory limit for query execution. This value is the combined limit for both the big query queue and the small query queue.

Optimization

The next section is a summary of the users who are trying to optimize queries at the same time.
   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)
Queries are submitted to the server for compilation. The compilation process includes parsing, algebraization, and optimization. Queries are classified based on the amount of memory that each query will consume during the compilation process.

หมายเหตุ:This amount does not include the memory that is required to run the query.

When a query starts, there is no limit on how many queries can be compiled. As the memory consumption increases and reaches a threshold, the query must pass a gateway to continue. There is a progressively decreasing limit of simultaneously compiled queries after each gateway. The size of each gateway depends on the platform and the load. Gateway sizes are chosen to maximize scalability and throughput.

If the query cannot pass a gateway, the query will wait until memory is available. Or, the query will return a time-out error (Error 8628). Additionally, the query may not acquire a gateway if the user cancels the query or if a deadlock is detected. If a query passes several gateways, the query does not release the smaller gateways until the compilation process has completed.

This behavior lets only a few memory-intensive compilations occur at the same time. Additionally, this behavior maximizes throughput for smaller queries.

หน่วยความจำ 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)

คุณสมบัติ

หมายเลขบทความ (Article ID): 907877 - รีวิวครั้งสุดท้าย: 16 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
Keywords: 
kbsql2005engine kbtshoot kbinfo kbmt KB907877 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:907877

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com