INF: MEMORYSTATUS DBCC ที่ใช้ในการติดตามการใช้งานหน่วยความจำของเซิร์ฟเวอร์ SQL

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

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

สรุป

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

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

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

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

ส่วนแรก

ส่วนแรกอธิบายการกระจายของบัฟเฟอร์กิโลไบต์ที่ 8 ในพูบัฟเฟอร์ ไม่มีโครงสร้างของบัฟเฟอร์สำหรับแต่ละหน้ากิโลไบต์ 8 อาจเกิดขึ้นในพูบัฟเฟอร์ ซึ่งรวมถึงเพจที่มีอยู่จริงถ้าส่วนต่อขยายที่อยู่ Windowing (AWE) ถูกเปิดใช้งาน โครงสร้างนี้ประกอบด้วยจำนวนบิตที่บ่งชี้สถานะของเพจที่อยู่ภายใต้ (นั่นคือ หรือไม่ได้ถูกปรับเปลี่ยนเพ ถูกยึดหมุดไว้ ใน IO และอื่น ๆ) ส่วนนี้แสดงรายละเอียดหมายเลขของบัฟเฟอร์ที่มีสถานะเฉพาะบิต
Buffer Distribution              Buffers     
------------------------------   ----------- 
Stolen                           241
Free                             95
Procedures                       89
Inram                            0
Dirty                            16
Kept                             0
I/O                              0
Latched                          18
Other                            880

(9 row(s) affected)
				
โจรกรรม.โจรกรรมหน่วยความจำอธิบายบัฟเฟอร์ที่ใช้ สำหรับการเรียงลำดับ หรือ สำหรับ hashing การดำเนินการ (แบบสอบถามหน่วยความพื้นที่ทำงานจำ), หรือบัฟเฟอร์ที่มีการใช้เป็นเก็บหน่วยความจำแบบทั่วไปสำหรับการปันส่วนการเก็บข้อมูลภายในโครงสร้างเช่นล็อก ธุรกรรมบริบท และข้อมูลการเชื่อมต่อ กระบวนการ lazywriter ไม่ได้รับอนุญาตเพื่อล้างโจรกรรมบัฟเฟอร์ไม่อยู่ที่เก็บบัฟเฟอร์

ว่าง.ว่างการอ้างอิงถึงการยอมรับบัฟเฟอร์ที่ไม่อยู่ในขณะใช้งาน เหล่านี้พร้อมใช้งานสำหรับการเก็บข้อมูล หรือดังกล่าวอาจถูกร้องขอ โดยคอมโพเนนต์ และทำเครื่องหมายเป็นโจรกรรม.

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

Inram.Inramการอ้างอิงไปยังเพจเหล่าสำหรับตารางที่ยึดหมุดไว้ที่ไม่สามารถเอาออกจากหน่วยความจำ (ยึดหมุดไว้ โดยใช้คำสั่ง PINTABLE DBCC หรือsp_tableoptionกระบวนงานเก็บไว้)

dirty.dirtyการอ้างอิงไปที่หน้าข้อมูลที่ประกอบด้วยการเปลี่ยนแปลงที่ได้ไม่ได้ถูก flushed ลงดิสก์

เก็บไว้.เก็บไว้การอ้างอิงไปยังเพจที่ถูกยึดหมุดไว้ชั่วคราวในหน่วยความจำเพื่อป้องกันไม่ให้แฟ้มเหล่านั้นถูก flushed ค่านี้ไม่ได้ถูกใช้ใน SQL Server 2000

i/o.i/oการอ้างอิงถึงการบัฟเฟอร์ที่กำลังรอบนการดำเนินการ I/O รอค้างอยู่ บน SQL Server 2000 ซึ่งรวมถึงการแมปหรือ unmapping บัฟเฟอร์ที่ผ่าน AWE

latched. บัฟเฟอร์ที่ latched บันทึกจำนวนบัฟเฟอร์ที่กำหนดให้การเชื่อมต่อถูกอ่าน หรือถูกปรับเปลี่ยนแถวจากเพจนี้ latch มีใช้การตรวจสอบความสอดคล้องทางกายภาพของข้อมูลในเพจนี้ในขณะที่มีอ่าน หรือปรับ เปลี่ยน ในขณะที่มีใช้การล็อกเพื่อตรวจสอบความสอดคล้องแบบลอจิคัล และของทรานแซคชัน

อื่น ๆ. ยอมรับหน้าที่ไม่ตรงกับเงื่อนไขระบุไว้ก่อนหน้าใด ๆ เหล่านี้ได้ โดยทั่วไป บัฟเฟอร์ที่ตรงกับเกณฑ์นี้ส่วนใหญ่จะมีข้อมูล hashed และหน้าดัชนีในแคชบัฟเฟอร์

ส่วนที่สอง

ส่วนที่สองแสดงผลรวมที่บางอย่างที่สะท้อนถึงขนาดโดยรวมและ makeup ของที่เก็บบัฟเฟอร์
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
กำหนดจำนวนบัฟเฟอร์ที่กำหนดใน Microsoft Windows NTสัญญาค่าเป็น "ขนาด" ของเก็บบัฟเฟอร์ที่ปัจจุบัน This value includes the physical memory that is allocated if AWE is enabled.

เป้าหมาย. The target committed count, or how big the buffer pool would like to be. ถ้าการเป้าหมายcount is greater than theCommittedvalue, the buffer pool is growing. ถ้าการเป้าหมายcount is less than theCommittedvalue, the buffer pool is shrinking. The lazywriter process uses this value to determine whether to grow or to shrink the buffer pool.

Hashed. The number of data and index pages that are stored in the buffer pool.

InternalReservation. The number of pages that the buffer pool keeps for itself. กระบวนการInternalReservationvalue is the minimum number of pages that are required to satisfy the simple data demands for the current number of users.

ExternalReservation. The number of pages that have been reserved for queries that will perform a sort or a hash operation but that have not yet been stolen. This is used as a hint to the lazywriter that there will be an upcoming requirement for a large amount of memory.

Min Free. The number of pages that the buffer pool tries to keep on the free list. If the free list falls below theMin Freevalue, the buffer pool tries to populate the free list by discarding old pages from the data cache or old procedures from the procedure cache.

Third Section

The third section describes the makeup of the procedure cache.
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs. The total number of cached objects currently in the procedure cache. This value will match the number of entries in thesyscacheobjectsvirtual table. You can use Performance Monitor to monitor the SQL Server:Cache Manager object for a detailed breakdown of the type of cached objects --for example, triggers, procedures, and ad hoc.

TotalPages. The cumulative number of pages that you must have to store all the cached objects.

InUsePages. The number of pages in the procedure cache that belong to procedures that are currently executing. These cannot be discarded.

Fourth Section

The fourth section describes the relative distribution of stolen buffers among major component groups in the server. SQL Server implements its own memory managers that use buffer pool pages for small allocations and that fall back to operating system routines only for allocations that are larger than approximately 8 KB. These larger allocations are outside the buffer pool, and they are commonly referred to as allocations from theMemToLeaveพื้นที่ The size of this area can be controlled by using the-gcommand-line option.

Typically, the majority of memory allocations fromMemToLeaveare from non-SQL Server memory consumers that are running in-process such as COM objects, extended stored procedures, and linked servers. The operating system-related values that are reported in DBCC MEMORYSTATUS only reflectMemToLeaveallocations that are made by SQL Server directly. Any other allocations that occur inMemToLeavefrom these other components are not included because SQL Server has no knowledge of these memory requests.
Dynamic Memory Manager         Buffers     
------------------------------ ----------- 
Stolen                         330
OS Reserved                    152
OS Committed                   138
OS In Use                      129
General                        322
QueryPlan                      87
Optimizer                      0
Utilities                      10
Connection                     40

(9 row(s) affected)
				
Stolen. Total number of buffers that are stolen from the buffer pool by the five memory managers (General, Query Plan, Optimizer, Utilities, Connection). These pages are used to service memory allocations that are smaller than 8 KB.

OS Reserved. The number of pages that are reserved from the operating system to handle allocation requests that are larger than approximately 8 KB.

OS Committed. The amount of memory in the reserved regions that has been committed. กระบวนการOS Committedvalue should be less than or equal to theOS Reservedvalue because buffers are first reserved and then committed. Some of the memory may be decommitted when it is no longer used.

หมายเหตุ:There is a bug in SQL Server 2000 (that is fixed in SQL Server 2000 Service Pack 3) that causes this value not to be maintained accurately and therefore it may fall outside the valid range.

OS In Use. กระบวนการOS Committedbuffers that are currently backing outstanding memory allocations.

ทั่วไป. หน่วยความจำที่ใช้ โดยลูกค้าหน่วยความจำที่ทั่วไปในเซิร์ฟเวอร์ รวมทั้งการแยกวิเคราะห์ หรือ normalization ล็อก บริบทของธุรกรรม โครงสร้างข้อมูลภายในที่อธิบายข้อมูลเมตาในหน่วยความจำสำหรับตาราง และดัชนี และอื่น ๆ ค่านี้มีจำนวนของกิโลไบต์ 8 บัฟเฟอร์ บางเหล่านี้อาจถูกโจรกรรมบัฟเฟอร์จากพูบัฟเฟอร์ และอื่น ๆ อาจมาจากMemToLeave.

QueryPlan. มีหน่วยความจำในการใช้ในการเก็บแผนแบบสอบถาม transiently หรือ ในแคช ค่านี้มีจำนวนของกิโลไบต์ 8 บัฟเฟอร์ บางเหล่านี้อาจถูกโจรกรรมบัฟเฟอร์จากพูบัฟเฟอร์ และอื่น ๆ อาจมาจากMemToLeave.

optimizer. หน่วยความจำที่ถูกใช้โดย optimizer แบบสอบถาม ค่านี้มีจำนวนของกิโลไบต์ 8 บัฟเฟอร์ บางเหล่านี้อาจถูกโจรกรรมบัฟเฟอร์จากพูบัฟเฟอร์ และอื่น ๆ อาจมาจากMemToLeave.

โปรแกรมอรรถประโยชน์. หน่วยความจำที่ใช้งานโดยตามปกติอรรถประโยชน์ต่าง ๆ เช่น BCP ตัว จัดการแฟ้มบันทึก แบบสอบ ถามแบบขนาน:: fn_trace_gettableและอื่น ๆ ค่านี้มีจำนวนของกิโลไบต์ 8 บัฟเฟอร์ บางเหล่านี้อาจถูกโจรกรรมบัฟเฟอร์จากพูบัฟเฟอร์ และอื่น ๆ อาจมาจากMemToLeave.

เชื่อมต่อ. หน่วยความจำที่ถูกใช้เพื่อเก็บโครงสร้างข้อมูลที่เก็บบริบทการเชื่อมต่อสำหรับแต่ละการเชื่อมต่อผู้ใช้ นี้ยังรวมถึงหน่วยความจำสำหรับส่งเครือข่าย และรับบัฟเฟอร์ที่เกี่ยวข้องกับการเชื่อมต่อ ค่านี้มีจำนวนของกิโลไบต์ 8 บัฟเฟอร์ บางเหล่านี้อาจถูกโจรกรรมบัฟเฟอร์จากพูบัฟเฟอร์ และอื่น ๆ ที่อาจมาจากMemToLeave.

ข้อมูลอ้างอิง

SQL Server Books Online
Delaney, Kalen. Inside Microsoft SQL Server 2000, Microsoft Press, 2000.

คุณสมบัติ

หมายเลขบทความ (Article ID): 271624 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Keywords: 
kbinfo kbmt KB271624 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:271624

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

 

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