การแก้ไข: spike CPU เมื่อมีการไม่มีการโหลดบนเซิร์ฟเวอร์หลังจากที่คุณติดตั้ง SQL Server 2012 บนเซิร์ฟเวอร์

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2813214
Microsoft กระจายการแก้ไขปัญหาของ Microsoft SQL Server 2012 Service Pack 1 เป็นแฟ้มหนึ่งแฟ้มที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม แต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ได้มาพร้อมกับการก่อนหน้า SQL Server 2012 Service Pack 1 รุ่นที่แก้ไข
อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
  • คุณติดตั้ง Microsoft SQL Server 2012 บนเซิร์ฟเวอร์
  • CPU บนเซิร์ฟเวอร์ได้หลาย cores ตัวอย่าง CPU มี 64 หรือ 128 cores และประกอบด้วยการกำหนดค่าการเข้าถึง (NUMA) หน่วยความจำไม่เหมือน
  • เซิร์ฟเวอร์มีหน่วยความจำ ตัวอย่างเช่น เซิร์ฟเวอร์ได้ 256 กิกะไบต์ (GB) หรือ 1 เท(ราไบต์ TB) ของหน่วยความจำ
  • เธรดการตรวจสอบทรัพยากรยังคงปั่น และไม่มีการโหลดบนเซิร์ฟเวอร์นี้
ในสถานการณ์สมมตินี้ เก็บชั่วคราวของ CPU เกิดขึ้น

หมายเหตุ ปัญหานี้เกิดขึ้นเฉพาะ เมื่อตัวเลือก "หน่วยความจำสูงสุดของเซิร์ฟเวอร์" ถูกตั้งค่าเป็นค่าต่ำ
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากตัวจัดการหน่วยความจำของเซิร์ฟเวอร์ SQL ที่จำเป็นต้องมีหน่วยความจำการตั้งค่าโครงสร้างพื้นฐานสำหรับการจัดการหน่วยความจำแบบไดนามิก

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

ตัวจัดการหน่วยความจำของ SQL Server ได้ถูกออกแบบใหม่ และขณะนี้แสดงหน้าการปันส่วนสำหรับคอมโพเนนต์อื่น ๆ มากขึ้นโดยเฉพาะอย่างยิ่ง ตัวเลือก "หน่วยความจำสูงสุดของเซิร์ฟเวอร์" ควบคุมระดับเสียงของหน่วยความจำที่ใช้ตัวจัดการหน่วยความจำของ SQL Server จัดสรรกับส่วนประกอบอื่น ๆ การคำนวณหน่วยความจำเป้าหมายเกิดขึ้นในระหว่างการดำเนินการเริ่มต้นของ SQL Server ใน SQL Server 2005 และ SQL Server รุ่นที่ใหม่กว่า แต่ละโหน NUMA ได้รับเท่ากับจำนวนหน่วยความจำ

หน่วยความจำเริ่มต้นสำหรับพนักงาน SOSMemoryManager บนกล่อง 8-โหน 1 TB คือ ประมาณ 1 GB เมื่อไม่ได้ใช้เซิร์ฟเวอร์ล็อกหน้า เมื่อเซิร์ฟเวอร์ที่จะใช้เพจที่ถูกล็อก พนักงานที่จำเป็นต้องมีหน่วยความจำเพิ่มเติมเพื่อรักษาตัวชี้สำหรับเพจต่าง ๆ ระบบปฏิบัติการ ในสถานการณ์นี้ หน่วยความจำทั้งหมดมีการปันส่วนจากโหนหน่วยความจำ 0 ในตัวจัดการหน่วยความจำของ SQL Server

ตัวอย่างเช่น ความต้องการหน่วยความจำของหน่วยความจำกายภาพเทราไบต์ 1 กล่องจะเป็นดังนี้:
  • โหนด 0 จำเป็นต้องใช้เนื้อที่ประมาณ 4 กิกะไบต์หน่วยความจำเมื่อมีการเปิดใช้งานการล็อกหน้าในหน่วยความจำ (LPIM)
  • โหนด 0 จำเป็นต้องมีหน่วยความจำประมาณ 1 GB เมื่อไม่มีการเปิดใช้งาน LPIM

ดังนั้น โหน 0 ต้องมากกว่า 4 กิกะไบต์ของหน่วยความจำเมื่อมีการเปิดใช้งาน LPIM (หรือ 1 GB) เมื่อไม่มีการเปิดใช้งาน LPIM ในระหว่างการดำเนินการเริ่มต้นของ SQL Server อย่างไรก็ตาม กล่องที่มีโหน NUMA สี่จำเป็นต้องมีหน่วยความจำ 16 GB (โหน NUMA 4 * 4 GB ต่อโหนด) ในระหว่างการดำเนินการเริ่มต้นระบบ นอกจากนี้ กล่องที่มีโหน NUMA แปดต้อง 32 กิกะไบต์ของหน่วยความจำในระหว่างการดำเนินการเริ่มต้นระบบ

เมื่อต้องการตรวจสอบว่า คุณกำลังประสบปัญหานี้ เรียกใช้การต่อไปนี้แบบไดนามิกการจัดการมุมมอง (DMV):

เลือก * จาก sys.dm_exec_requests ที่สั่ง = 'ตัวตรวจสอบทรัพยากร'

ถ้าจอภาพของทรัพยากรอย่างใดอย่างหนึ่งคือหลัง CPU ในขณะที่จอทรัพยากรอื่น ๆ ไม่ได้ใช้งานสม่ำเสมอ คุณประสบปัญหานี้ ในสถานการณ์นี้ ทรัพยากรไม่ได้ใช้งานจอภาพจะไม่โหลด

การแก้ไข

ปรับปรุงข้อมูล

อัพเดต 3 ที่สะสมสำหรับ SQL Server 2012 SP1

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ก่อนใน 3 ปรับปรุงที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับนี้แพคเกจโปรแกรมปรับปรุงที่สะสมสำหรับ SQL Server 2012 SP1 คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2812412 แพคเกจโปรแกรมปรับปรุงที่สะสม 3 สำหรับ SQL Server 2012 Service Pack 1
หมายเหตุ เนื่องจากเป็นแบบสะสม builds แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ได้มาพร้อมกับการก่อนหน้า SQL Server 2012 SP1 รุ่นที่แก้ไข เราขอแนะนำว่า คุณควรพิจารณาถึงการนำไปใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2772858 2012 เซิร์ฟเวอร์ SQL สร้างที่ถูกนำออกใช้หลังจากที่มีการนำออกใช้ SQL Server 2012 Service Pack 1
สถานะ
Microsoft ยืนยันว่า ปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่ระบุไว้ในส่วน "นำไปใช้งาน"
การหลีกเลี่ยงปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:
  • 8015 ค่าสถานะการสืบค้นกลับเมื่อต้องการปิดใช้งานการตรวจหาอัตโนมัติและตั้งค่า NUMA ที่เปิดใช้งาน
  • ตั้งค่าตัวเลือก "หน่วยความจำสูงสุดของเซิร์ฟเวอร์" เป็นค่ามีขนาดใหญ่
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบจำลองการให้บริการแบบเพิ่มหน่วยสำหรับ SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
935897 แบบจำลองแบบเพิ่มหน่วยให้บริการไม่พร้อมใช้งานจากทีม SQL Server จะจัดส่งโปรแกรมแก้ไขด่วนสำหรับการรายงานปัญหา
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเค้าร่างตั้งชื่อสำหรับการปรับปรุง SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
822499 เค้าร่างตั้งชื่อสำหรับแพคเกจการปรับปรุงซอฟต์แวร์ของ Microsoft SQL Server
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft
824684 คำอธิบายเกี่ยวกับคำศัพท์เฉพาะทางมาตรฐานที่ใช้เพื่ออธิบายชุดปรับปรุงซอฟต์แวร์ของ Microsoft

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 2813214 - การตรวจสอบครั้งสุดท้าย: 04/12/2013 10:23:00 - ฉบับแก้ไข: 3.0

Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Express, SQL Server 2012 Enterprise Core

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2813214 KbMtth
คำติชม