มีหน่วยความจำระบบไม่เพียงพอในกลุ่มทรัพยากรเริ่มต้นเพื่อเรียกใช้แบบสอบถามนี้


15

ฉันใช้ SQL Server 2014 - 12.0.2269.0 (X64) ใน Windows Server 2012 และฉันประสบปัญหาหน่วยความจำบางอย่าง เมื่อฉันเรียกใช้กระบวนงานที่เก็บไว้ซึ่งทำการคำนวณค่อนข้าง "หนัก" ฉันได้รับข้อผิดพลาดหลังจากบางสิ่งบางอย่างเช่น 10 นาที:

มีหน่วยความจำระบบไม่เพียงพอในกลุ่มทรัพยากร 'เริ่มต้น' เพื่อเรียกใช้แบบสอบถามนี้

SQL Server ของฉันมีหลายฐานข้อมูล (เช่น 15 แต่ไม่ได้ใช้พร้อมกันเสมอ) ฉันดูไฟล์บันทึกของ SQL Server (หลังจากฉันได้รับข้อผิดพลาด) และฉันเห็นบรรทัดมากมายเช่นนี้

2015-12-17 12: 00: 37.57 spid19s ไม่อนุญาตการจัดสรรหน้าสำหรับฐานข้อมูล 'Database_Name' เนื่องจากหน่วยความจำไม่เพียงพอในกลุ่มทรัพยากร 'เริ่มต้น' ดู ' http://go.microsoft.com/fwlink/?LinkId=330673 ' สำหรับข้อมูลเพิ่มเติม

รายงานถูกสร้างขึ้นในบันทึกที่มีหน่วยความจำที่ใช้โดยแต่ละองค์ประกอบ (ฉันคิดว่า) MEMORYCLERK_SQLBUFFERPOOLถ้าฉันได้อย่างถูกต้องตีความรายงานที่เราจะเห็นว่ามีจำนวนมากของหน่วยความจำบริโภคโดย คุณสามารถค้นหารายงานได้ที่นี่: http://pastebin.com/kgmk9dPH

ฉันยังสร้างรายงานด้วยกราฟที่แสดง "บทสรุป" ที่เหมือนกัน:

![การใช้ความจำ

นี่อาจเป็นรายงานที่มีประโยชน์อีกฉบับหนึ่ง:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

โปรดทราบว่าฉันเคยเห็นข้อผิดพลาดนี้ในบันทึก:

2015-12-17 12: 04: 52.37 spid70 ล้มเหลวในการจัดสรรหน้าเนื่องจากความดันหน่วยความจำฐานข้อมูล: FAIL_PAGE_ALLOCATION 8

นี่คือข้อมูลบางส่วนเกี่ยวกับหน่วยความจำของเซิร์ฟเวอร์:

  • หน่วยความจำทั้งหมดบนเซิร์ฟเวอร์: 16 Gb

  • หน่วยความจำที่จัดสรรให้กับเซิร์ฟเวอร์ SQL: 12288 Mb

  • หน่วยความจำกายภาพที่ใช้งานอยู่ (จากsys.dm_os_process_memory): 9287 Mb

หากสามารถช่วยได้เซิร์ฟเวอร์จะไม่โฮสต์ฐานข้อมูล SharePoint ใด ๆ


หน่วยความจำสูงสุดและ RAM ทั้งหมดบนเซิร์ฟเวอร์คืออะไร?
Kin Shah

คำตอบ:


6

แม้ว่านี่อาจไม่ใช่คำตอบที่ถูกต้องสำหรับปัญหาของคุณฉันจะโพสต์ไว้อย่างไรก็ตามหวังว่ามันจะช่วยคุณได้

สิ่งที่คุณเห็นไม่ได้เป็นMEMORYCLERK_SQLBUFFERPOOLเพียงการMEMORYCLERK_SQLLOGPOOLสละความทรงจำทั้งหมด

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

นอกจากนี้ยังมีปัญหานี้เป็นที่รู้จักกันสำหรับทั้งปี 2014 และ 2012 always onที่เกี่ยวข้องกับการสร้างใหม่ดัชนีและ คุณไม่ได้ระบุว่าคุณกำลังใช้งานอยู่ แต่อาจเป็นข้อผิดพลาดเดียวกันที่มีทริกเกอร์อื่น ๆ : การแก้ไข: หน่วยความจำแคช SQL ลดลงและการใช้งาน CPU เพิ่มขึ้นเมื่อคุณสร้างดัชนีสำหรับตารางใน SQL Server อีกครั้ง

ดังนั้นข้อเสนอแนะที่ดีที่สุดของฉันในตอนนี้คืออัปเดตเป็น CU ล่าสุดและดูว่ามันยังคงเกิดขึ้นหรือไม่เนื่องจากมีการแก้ไขบางอย่างMEMORYCLERK_SQLLOGPOOLเมื่อเร็ว ๆ นี้ เนื่องจากคุณกำลังเรียกใช้ RTM พร้อมด้วยการแก้ไขความปลอดภัย 2 อย่างเท่านั้นที่สามารถใช้ได้จึงมี CU + หลายตัวพร้อมใช้งาน CU

เนื่องจากยังมีการใช้หน่วยความจำที่ค่อนข้างสูงในMEMORYCLERK_XTPการใช้งานโดยin-memory OLTPบทความนี้อาจช่วยให้คุณแก้ไขปัญหา: ตรวจสอบและแก้ไขปัญหาการใช้งานหน่วยความจำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.