วิธีการแก้ไขปัญหาการรั่วไหลของหน่วยความจำหรือข้อยกเว้นออกจำในกระบวนการเซิร์ฟเวอร์ BizTalk

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

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

สรุป

หน่วยความจำรั่วเป็นปัญหาที่พบ คุณอาจต้องลอง ขั้นตอนต่าง ๆ เพื่อค้นหาสาเหตุของการรั่วไหลของหน่วยความจำหรือข้อยกเว้นการออกแบบความจำเหลือ (OOM) เฉพาะใน Microsoft BizTalk Server บทความนี้กล่าวถึงสิ่งที่สำคัญที่ควรพิจารณาเมื่อคุณกำลังประเมินการใช้หน่วยความจำและปัญหาที่เกี่ยวข้องกับหน่วยความจำเป็นไปได้ ข้อควรพิจารณาเหล่านี้มีดังนี้:
  • RAM ที่มีอยู่จริง
  • การประมวลผลข้อความขนาดใหญ่
  • ใช้ของ / กิกะไบต์ 3 สวิตช์
  • การใช้คอมโพเนนต์แบบกำหนดเอง
  • รุ่นใดของ Microsoftโปรดเรียกใช้ระบบ
  • หมายเลขของตัวประมวลผล

บทนำ

บทความนี้อธิบายถึงวิธีการแก้ไขปัญหาการรั่วไหลของหน่วยความจำ หรือ ข้อยกเว้นออกจำในกระบวนการเซิร์ฟเวอร์ BizTalk ของ Microsoft BizTalk เซิร์ฟเวอร์

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

กระบวนการเซิร์ฟเวอร์ BizTalk อาจพบปัญหาการรั่วไหลของหน่วยความจำ เมื่อการใช้งานหน่วยความจำในตัวจัดการงานของ Microsoft Windows ใช้มากกว่า 50 เปอร์เซ็นต์ของ RAM มีอยู่จริง มีหน่วยความจำรั่วอาจทำให้เกิดข้อยกเว้นออกจำ เมื่อการใช้งานหน่วยความจำเพิ่มขึ้นจนกว่ากระบวนการทำงานของหน่วยความจำของระบบ หรือ จนกว่ากระบวนการหยุดทำงาน

เมื่อปัญหานี้เกิดขึ้น ข้อความเตือนที่มีลักษณะ ข้อความต่อไปนี้ถูกบันทึกในแฟ้มบันทึกเหตุการณ์:

เหตุการณ์ ชนิด: คำเตือน
ประเภทเหตุการณ์: (1)
รหัสเหตุการณ์: 5410
คำอธิบาย: เกิดข้อผิดพลาดที่ต้องให้บริการของ BizTalk เพื่อจบการทำงาน สาเหตุส่วนใหญ่จะคาดหมายของข้อผิดพลาดของหน่วยความจำ และไม่มีการเชื่อมต่อ หรือขาดทุนของการเชื่อมต่อกับฐานข้อมูลของ BizTalk บริการจะปิดและเริ่มต้นอัตโนมัติใหม่ใน 1 นาที ถ้าฐานข้อมูลมีปัญหายังคงไม่พร้อมใช้งาน รอบนี้จะทำซ้ำ
ข้อความแสดงข้อผิดพลาด: ข้อยกเว้นของชนิด System.OutOfMemoryException ที่ถูก thrown
แหล่งที่มาของข้อผิดพลาด:
โฮสต์ของ BizTalk ชื่อ: BizTalkServerApplication
ชื่อบริการของ Windows: BTSSvc {DCC899FE-C62F-41BE-851A-8720B2EB9C14 }

ประเภทอีเวนต์: คำเตือน
ประเภทเหตุการณ์: (1)
รหัสเหตุการณ์: 5410
คำอธิบาย: เกิดข้อผิดพลาดที่ต้องให้บริการของ BizTalk เพื่อจบการทำงาน สาเหตุส่วนใหญ่ที่มีต่อไปนี้: 1) การออกที่ไม่คาดคิดของข้อผิดพลาดของหน่วยความจำ หรือ 2) ไม่สามารถเชื่อมต่อหรือการสูญเสียการเชื่อมต่อกับฐานข้อมูลของ BizTalk บริการจะปิดและเริ่มต้นอัตโนมัติใหม่ใน 1 นาที ถ้าฐานข้อมูลมีปัญหายังคงไม่พร้อมใช้งาน รอบนี้จะทำซ้ำ
ข้อความแสดงข้อผิดพลาด: ข้อยกเว้นของชนิด 'System.OutOfMemoryException' ถูก thrown
แหล่งข้อผิดพลาด: mscorlib
ชื่อโฮสต์ของ BizTalk: BizTalkServerApplication
ชื่อบริการของ Windows: BTSSvc $ BizTalkServerApplication

ข้อควรพิจารณาที่สำคัญ

การใช้ RAM และหน่วยความจำทางกายภาพ

เนื่องจากอาจมีลักษณะการทำงานที่คาดไว้สำหรับกระบวนการการใช้ RAM ที่มีอยู่จริงครึ่ง ใช้การใช้งานหน่วยความจำสำหรับแนว ยกตัวอย่างเช่น ถ้าเซิร์ฟเวอร์ BizTalk ได้ 4 กิกะไบต์ (GB) ของ RAM และกระบวนการเซิร์ฟเวอร์ BizTalk ใช้ RAM อย่างประมาณ 500 เมกะไบต์ (MB) อาจไม่มีรั่วไหล ถ้ากระบวนการเซิร์ฟเวอร์ BizTalk ใช้ RAM ประมาณ 1 GB อาจมีการรั่วไหลของหน่วยความจำหรือสถานการณ์ที่หน่วยความจำสูง ปริมาณการใช้หน่วยความจำอาจเกิดจากกระบวนงานที่เก็บไว้ที่รันเป็นเวลานานหรือ orchestration ตรวจสอบให้แน่ใจว่า คุณทราบว่ามีจำนวนหน่วยความจำที่โฮสต์ BizTalk มักจะใช้เพื่อกำหนดว่า จะเกิดการรั่วไหลของหน่วยความจำหรือเงื่อนไขของหน่วยความจำสูง

ข้อความขนาดใหญ่

เมื่อเซิร์ฟเวอร์ BizTalk ประมวลผลข้อความขนาดใหญ่ ระบบดูเหมือนว่ามีการรั่วไหลของหน่วยความจำ อย่างไรก็ตาม ข้อความอาจใช้หน่วยความจำขนาดใหญ่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อความขนาดใหญ่ โปรดเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://blogs.msdn.com/biztalk_core_engine/archive/2005/02/28/381700.aspx

ขอบ http://msdn.microsoft.com/en-us/library/aa560481 (BTS.10)

พิจารณาว่า อาจต้องใช้หน่วยความจำสูงถ้ายัง BizTalk เซิร์ฟเวอร์กำลังประมวลผลข้อความขนาดใหญ่ คุณอาจต้องการปรับรุ่นฮาร์ดแวร์ของคุณเพื่อ ตรงตามความต้องการประสิทธิภาพการทำงานของเซิร์ฟเวอร์ BizTalk ในสภาพแวดล้อมของคุณ

ขนาดเท่าไรในการทบทวนเกิดปัญหาการรั่วไหลของหน่วยความจำ

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

การใช้สวิตช์ /3GB บนคอมพิวเตอร์แบบ 32 บิต

โดยทั่วไป กระบวนการสามารถเข้าถึงพื้นที่ที่อยู่เสมือน 2 GB สวิตช์/3GBมีตัวเลือกสำหรับระบบที่ต้องใช้หน่วยความจำที่สามารถเข้าถึงเพิ่มเติม ตัวเลือกนี้อาจช่วยปรับปรุงการใช้งานหน่วยความจำสำหรับการประมวลผลข้อความ อย่างไรก็ตาม สวิตช์/3GBอนุญาตสำหรับหน่วยความจำที่สามารถเข้าถึงการดำเนินงานในโหมดเคอร์เนลเท่านั้น 1 GB นอกจากนี้ สวิตช์นี้อาจเพิ่มความเสี่ยงของหน่วยความจำที่เพียงพอ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ3 กิกะสลับ เยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/ms791558.aspx
เมื่อเปิดสวิตช์/3GBบน Windows รุ่น 32 บิต กระบวนการที่สามารถเข้าถึงที่อยู่เสมือน 3 GB พื้นที่ว่างถ้ากระบวนการมีขนาดใหญ่ที่อยู่ทราบ กระบวนการมีขนาดใหญ่ที่อยู่ทราบเมื่อมีการปฏิบัติมีค่าสถานะ IMAGE_FILE_LARGE_ADDRESS_AWARE ที่ตั้งค่าในส่วนหัวของรูป เนื่องจากกระบวนการของ BizTalk ที่มีขนาดใหญ่ที่อยู่ทราบ BizTalk จะได้รับประโยชน์จากสวิตช์ /3GB

ถ้าอินสแตนซ์โฮสต์ BizTalk แบบ 32 บิตที่ทำงานบน Windows (AMD64) รุ่น 64 บิต ประโยชน์ของกระบวนการ BizTalk จากหน่วยความจำ 4 กิกะไบต์อยู่พื้นที่เนื่องจาก BizTalk ที่มีขนาดใหญ่ที่อยู่ทราบ ดังนั้น การย้ายโปรแกรมประยุกต์ของหน่วยความจำสูงไปยังเซิร์ฟเวอร์แบบ 64 บิตอาจจะเหมาะสมที่สุด

ขั้นตอนการ BizTalk 64 บิตบน Windows (AMD64) รุ่น 64 บิตได้ 8 เทราไบต์ของหน่วยความจำที่สามารถเข้าถึง

คุณควรพิจารณาเสมือนไบต์และไบต์ส่วนตัวที่ใช้โดยกระบวนการ ตัวอย่างการโฮสต์ BizTalk (ซึ่งเป็นแอพลิเคชัน NET Framework) อาจได้รับการออกข้อผิดพลาดของหน่วยความจำก่อนค่าไบต์เสมือนได้ถึง 2 กิกะไบต์ ปัญหานี้สามารถเกิดขึ้นแม้ว่าหน่วยสูงสุดที่สามารถเข้าถึงกระบวนการในรุ่น 32 บิตของ Windows (โดยไม่มีสวิตช์/3GB ) ความจำ 2 กิกะไบต์ สำหรับคำอธิบายของสาเหตุนี้สามารถเกิดขึ้น โปรดเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/ms972959.aspx
http://blogs.msdn.com/tess/archive/2005/11/25/496898.aspx
สวิตช์/3GBยังเพิ่มไบต์ส่วนตัวสูงสุดของกระบวนการ BizTalk จาก 800 MB เพื่อ 1800 MB สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการประสิทธิภาพของแอพลิเคชันการจัดการและส่ง ด้วยสวิตช์/3GBที่เปิดใช้งาน การเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/ms998583.aspx
ตารางต่อไปนี้สรุปข้อมูลนี้ และมีข้อจำกัดทางปฏิบัติเสมือนไบต์และส่วนตัวไบต์
ยุบตารางนี้ขยายตารางนี้
กระบวนการWindowsหน่วยความจำที่กำหนดแอดเดรส (ด้วยกระบวนการที่อยู่ตามมีขนาดใหญ่)ในกรณีที่จำกัดเสมือนไบต์ในกรณีที่จำกัดไบต์ส่วนตัว
32 บิต32 บิต2 กิกะไบต์1400 MB800 MB
32 บิต32 บิต ด้วย 3 GB3 GB2400 MB1800 MB
32 บิต64-บิต4 กิกะไบต์3400 MB2800 MB
64-บิต64-บิต8 เทราไบต์ไม่เกี่ยวข้องไม่เกี่ยวข้อง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับหน่วยความจำที่กำหนดแอดเดรสสำหรับรุ่น 32 บิตและ 64 บิต Windows โปรดเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/aa366778.aspx
ตารางต่อไปนี้แสดงรายการการสนับสนุนสำหรับรุ่นต่าง ๆ ของ BizTalk Server PAE และ 3 GB
ยุบตารางนี้ขยายตารางนี้
ผลิตภัณฑ์PAE3 GB
BizTalk Server 2004Yesไม่ใช่
BizTalk Server 2006YesYes
BizTalk Server 2006 R2YesYes
2009 ในเซิร์ฟเวอร์ BizTalkYesYes
ถ้าคุณต้องเปิดใช้งานสวิตช์/3GBเพื่อตอบสนองความต้องการประสิทธิภาพการทำงานของคอมพิวเตอร์ที่เป็น ใช้ BizTalk Server คุณอาจต้องพิจารณาการเพิ่มเซิร์ฟเวอร์กลุ่ม BizTalk ได้ นี้ช่วยให้คุณสามารถปรับมาตราส่วนออกจากอินสแตนซ์ที่โฮสต์ของหน่วยความจำ

คอมโพเนนต์ของ BizTalk ที่ทำงานภายในกระบวนการของ Internet Information Services (IIS) อาจ นอกจากนี้ ได้รับประโยชน์เมื่อเปิดสวิตช์/3GB

สวิตช์/3GBไม่ได้รับการสนับสนุนบนคอมพิวเตอร์ที่กำลังเรียกใช้ Windows SharePoint Services 2.0 หรือรุ่นที่ใหม่กว่า หรือ SharePoint Portal Server 2003 SP2 หรือรุ่นที่ใหม่กว่า สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
933560สวิตช์ /3GB Windows Server 2003 ไม่สนับสนุน ใน Windows SharePoint Services 2.0 หรือรุ่นที่ใหม่กว่า หรือ ใน SharePoint Portal Server 2003 Service Pack 2 หรือ ในรุ่นที่ใหม่กว่า

การใช้คอมโพเนนต์แบบกำหนดเอง

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

ปัญหาทั่วไปที่อื่น เกิดขึ้นเมื่อมีการจัดการสายอักขระที่เน้นในด้าน สายอักขระที่เน้นในด้าน จัดการสามารถใช้เนื้อที่หน่วยความจำ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการ การปรับปรุงประสิทธิภาพการทำงาน การเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/ms998547

รุ่นการจัดการและส่ง

MicrosoftNET Framework 2.0 และอยู่NET Framework 1.1 มีลักษณะการทำงานของหน่วยความจำที่แตกต่างกัน ดังนั้น คุณอาจเห็นผลลัพธ์ต่าง ๆ ระหว่าง ถ้าคุณกำลังใช้การNET Framework ยืนยันที่ล่าสุดที่NET Framework Service Pack 1 มีการติดตั้ง เซอร์วิสแพ็คเหล่านี้ที่อยู่หลายปัญหาของหน่วยความจำที่รู้จัก สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้:

945757 ปัญหาที่ได้รับการแก้ไขNET Framework 2.0 Service Pack 1
867460 บักต่าง ๆ ที่ได้รับการแก้ไขในรายการนี้NET Framework 1.1 Service Pack 1

หมายเลขของตัวประมวลผล

รันไทม์ภาษาทั่วไป (CLR) มีขยะต่อไปนี้ collectors (GCs):
  • เวิร์กสเตชัน (Mscorwks.dll)
  • เซิร์ฟเวอร์ (Mscorsvr.dll)
ถ้าคอมพิวเตอร์ที่กำลังเรียกใช้ BizTalk Server เป็นระบบมัลติโปรเซสเซอร์ อยู่โปรดเรียกใช้โปรแกรมการปฏิบัติการรุ่นเซิร์ฟเวอร์ นี่คือลักษณะการทำงานเริ่มต้น ตัวเก็บรวบรวมขยะที่เซิร์ฟเวอร์ถูกออกแบบมาสำหรับอัตราความเร็วสูงสุด นอกจากนี้ ตัวเก็บรวบรวมขยะที่เซิร์ฟเวอร์ปรับขนาดเพื่อให้มีประสิทธิภาพสูงมาก ตัวเก็บรวบรวมขยะนี้จัดสรรหน่วยความจำ และช่วยให้แล้ว ในภายหลังมีหน่วยความจำเพื่อให้มีประสิทธิภาพสูงบนระบบ ดังนั้น คอมพิวเตอร์ที่กำลังเรียกใช้ BizTalk Server ร่วมกับบางอย่างคอมโพเนนต์โปรดเรียกดูเหมือนว่า มีการรั่วไหลของหน่วยความจำ อย่างไรก็ตาม ในสถานการณ์สมมตินี้ การใช้หน่วยความจำสูงมีลักษณะการทำงานที่คาดไว้ ถ้าคอมพิวเตอร์ที่หน่วยความจำระบบ หรือ ถ้ากระบวนการหยุดทำงานเนื่องจากความจำไม่เพียงพอที่กำหนดแอดเดรส เงื่อนไขการตั้งค่าหน่วยความจำรั่วอาจมีอยู่

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

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

BizTalk 2006 และรุ่นที่ใหม่กว่า

สร้าง CRL สายอักขระที่เป็นโฮสต์ของรีจิสทรีคีย์ต่อไปนี้ ด้วยค่าเกี่ยวข้อง:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc $BizTalkHostName\CLR โฮสต์

ชื่อ: Flavor
ข้อมูล: wks

BizTalk 2004

สร้าง CRL สายอักขระที่เป็นโฮสต์ของรีจิสทรีคีย์ต่อไปนี้ ด้วยค่าเกี่ยวข้อง:

โฮสต์ \CLR HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\BTSSvc {GUID}

ชื่อ: Flavor
ข้อมูล: wks

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/ms973838

http://blogs.msdn.com/tess/archive/2008/04/17/how-does-the-gc-work-and-what-are-the-sizes-of-the-different-generations.aspx

สาเหตุและวิธีแก้ปัญหา

การใช้หน่วยความจำที่กระบวนการและการใช้หน่วยความจำทางกายภาพที่ควบคุมปริมาณ thresholds

กระบวนการการใช้หน่วยความจำและ thresholds การควบคุมปริมาณการใช้หน่วยความจำทางกายภาพสามารถถูกเปลี่ยนแปลง ใน BizTalk Server 2006 และรุ่นที่ใหม่กว่า
  • โดยค่าเริ่มต้น การ การใช้หน่วยความจำที่กระบวนการ มีกำหนดเพดานการควบคุมปริมาณเพื่อ 25 ถ้ามีเกินค่านี้ และการใช้หน่วยความจำของกระบวนการ BizTalk ถูกมากกว่า 300 MB เงื่อนไขการควบคุมปริมาณอาจเกิดขึ้น บนเซิร์ฟเวอร์แบบ 32 บิต คุณสามารถเพิ่มค่าการใช้หน่วยความจำกระบวนการจะ 50 บนเซิร์ฟเวอร์แบบ 64 บิต คุณสามารถเพิ่มค่านี้ถึง 100 หมายเลขสำหรับปริมาณการใช้หน่วยความจำเพิ่มเติมโดยกระบวนการ BizTalk ก่อนการควบคุมปริมาณเกิดขึ้น
  • ที่ การใช้หน่วยความจำทางกายภาพ เพดานควบคุมปริมาณมีค่า 0 เป็นค่าเริ่มต้น เขตแดนนี้วัดหน่วยความจำระบบทั้งหมด ดังนั้น ถ้ามีการกำหนดค่าค่าอื่นที่ไม่ใช่ 0 เงื่อนไขการควบคุมปริมาณสามารถเกิดกระบวนการที่ไม่ใช่ของ BizTalk ใช้หน่วยความจำสูง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ thresholds การควบคุมปริมาณ โปรดเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/aa559628.aspx

Dehydration thresholds การควบคุมปริมาณ

Thresholds dehydration ของหน่วยความจำเริ่มต้นอาจทำให้เกิด dehydration มากเกินไปเมื่อมีการเรียกใช้ orchestrations บนโฮสต์แบบ 64 บิต สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ ดูหัวข้อคุณสมบัติการเริ่มต้น Dehydrationบนเว็บไซต์ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/aa560586.aspx
หมายเหตุแบบ 64 บิตโฮสต์ได้รับการสนับสนุนใน BizTalk Server 2006 และรุ่นที่ใหม่กว่า

บนฮาร์ดแวร์เทียบเท่ากันในอินสแตนซ์ที่โฮสต์แบบ 32 บิต dehydration สังเกตได้ซึ่งเมื่อ orchestrations เดียวกันที่ถูกเรียกใช้ โดยใช้ dehydration หน่วยความจำที่เริ่มต้นการควบคุมปริมาณ thresholds

เนื่องจากสถาปัตยกรรมแบบ 64 บิตมีพื้นที่ที่อยู่หน่วยความจำขยาย (16 TB แทน 4 gb), อินสแตนซ์ของโฮสต์แบบ 64 บิตจะจัดสรรหน่วยความจำอย่างมากไม่ใช่อินสแตนซ์ของโฮสต์แบบ 32 บิต ซึ่งสามารถทำให้เป็นค่าเริ่มต้นหน่วยความจำ thresholds ควบคุมปริมาณการใช้เกิน

เมื่อต้องแก้ไขลักษณะการทำงานนี้ เปลี่ยนแปลงค่า VirtualMemoryThrottlingCriteria และ PrivateMemoryThrottlingCriteria ในแฟ้ม BTSNTSvc64.exe.config ใช้ Process\Virtual ไบต์และเคาน์เตอร์การตรวจสอบประสิทธิภาพของ Process\Private ไบต์เพื่อพิจารณาจำนวนที่มากที่สุดของหน่วยความจำที่ถูกปันส่วน โดยอินสแตนซ์ orchestration
  • ตั้งค่า OptimalUsage สำหรับคุณสมบัติทั้งสองตามค่าต่อไปนี้:
    VirtualMemoryThrottlingCriteria: ค่าไบต์ \Process\Virtual + 10%
    PrivateMemoryThrottlingCriteria: ค่าไบต์ \Process\Private + 10%
  • การตั้งค่า MaximalUsage สำหรับคุณสมบัติทั้งสองไปค่า OptimalUsage + 30%
ยกตัวอย่างเช่น ถ้า \Process\Virtual ค่าตัวนับการตรวจสอบประสิทธิภาพไบต์สำหรับอินสแตนซ์ orchestration 5,784,787,695 ไบต์ (5,517 MB), ตั้งค่าค่า OptimalUsage สำหรับ VirtualMemoryThrottlingCriteria กับ 6,069 MB (5,784,787,695 * 1.10 = 6,363,266,464.5 ไบต์) ตั้งค่า MaximalUsage สำหรับ VirtualMemoryThrottlingCriteria กับ 7,889 MB (6,363,266,464.5 * 1.30 = 8,272,246,403.85 ไบต์)

ถ้าค่าตัวนับการตรวจสอบประสิทธิภาพของไบต์ \Process\Private 435689400 ไบต์ (415 MB), ตั้งค่า OptimalUsage สำหรับ PrivateMemoryThrottlingCriteria กับ MB 457 (435689400 * 1.10 = 479258340 ไบต์) ตั้งค่า MaximalUsage สำหรับ PrivateMemoryThrottlingCriteria การ 594 MB (479258340 * 1.30 = 623035842)

ตัวอย่างนี้ ค่าต่อไปนี้จะต้องมีระบุไว้ในแฟ้ม BTSNTSvc64.exe.config เพื่อลดการควบคุมปริมาณ
ยุบตารางนี้ขยายตารางนี้
ตัวนับการตรวจสอบประสิทธิภาพการทำงานหน่วยความจำในการปันส่วนOptimalUsageMaximalUsage
\Process\Virtual ไบต์5784787695 ไบต์ (5517 เมกะไบต์)60697889
\Process\Private ไบต์435689400 ไบต์ (415 เมกะไบต์)457594
ค่าเหล่านี้แล้วจะแทนด้วยในแฟ้ม BTSNTSvc64.exe.config เป็นดังนี้:
<xlangs>
      <Configuration>
                  <Dehydration>
                              <VirtualMemoryThrottlingCriteria OptimalUsage="6069" MaximalUsage="7889" IsActive="true" />
                              <PrivateMemoryThrottlingCriteria OptimalUsage="457" MaximalUsage="594" IsActive="true" />
                  </Dehydration>
      </Configuration>
</xlangs>
ตรวจสอบตัวอย่างของโฮสต์ที่ใช้ที่ orchestration คุณสามารถจับคู่กระบวน ID จาก \BizTalk:Messaging\ID กระบวนการและตัวนับการตรวจสอบประสิทธิภาพของกระบวนการ \Process\ID ตรวจสอบค่าเฉลี่ยที่แสดงสำหรับเคาน์เตอร์การตรวจสอบประสิทธิภาพไบต์ \Process\Private และ \Process\Virtual ที่สอดคล้องกันไบต์แล้ว

หมายเหตุ Dehydration ที่สูงอาจทำให้การลดลงของประสิทธิภาพการทำงานสำคัญเมื่อเรียกใช้ฐานข้อมูล BizTalkMsgBoxDb ใน SQL Server 2008

เซอร์วิสแพ็คของ BizTalk Server และการปรับปรุงที่สะสม

เซอร์วิสแพ็คของ BizTalk Server และการปรับปรุงที่สะสมรวมการแก้ไขปัญหาล่าสุด เหล่านี้รวมถึงเอกสารเหล่านั้นมีผลต่อปัญหาที่ทราบของ System.OutOfMemoryException

2281783 Service Pack และปรับปรุงรายการสำหรับ BizTalk Server 2006 R2

Microsoft BizTalk Server 2004 Service Pack 2

HeapDeCommitFreeBlockThreshold

โดยค่าเริ่มต้น ค่าคีย์ในรีจิสทรี theHeapDeCommitFreeBlockThreshold เป็น 0 ค่า 0 หมายความ ว่า ฮีป ตัวจัดการ decommits แต่ละหน้า-4 กิโลไบต์ (KB) ที่จะพร้อมใช้งาน Decommit การดำเนินการอาจทำให้เกิดการกระจายตัวของหน่วยความจำเสมือน ขนาดของการตั้งค่าHeapDeCommitFreeBlockThresholdใน heap manager จะขึ้นอยู่กับชนิดของงานที่ ระบบกำลังทำงาน ขนาดของ 0x00040000 จะเริ่มต้นแนะนำ ค่า

พิจารณาข้อมูลต่อไปนี้ก่อนที่คุณเปลี่ยนแปลงค่า ของ
HeapDeCommitFreeBlockThreshold
รีจิสทรี คีย์:
  • การเปลี่ยนแปลงนี้ใช้เฉพาะกับการกระจายตัวของหน่วยความจำ ปัญหา
  • การเปลี่ยนแปลงนี้มีทั้งระบบ ดังนั้น การประมวลผลส่วนใหญ่จะ ใช้หน่วยความจำเพิ่มเติมเมื่อเริ่มต้นระบบ
  • พิจารณาการเปลี่ยนแปลงนี้สำหรับระบบที่มี BizTalk เท่านั้น เซิร์ฟเวอร์เป็นของพันธกิจหลัก
เพื่อช่วยลดการกระจายตัวของหน่วยความจำเสมือน คุณสามารถเพิ่ม การตั้งค่าHeapDeCommitFreeBlockThresholdใน heap manager โดยการเปลี่ยนค่าของขนาด รีจิสทรีคีย์ต่อไปนี้:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session ผู้จัดการ


ชื่อค่า: HeapDeCommitFreeBlockThreshold
ค่าชนิด: REG_DWORD
ข้อมูลค่า: 0x00040000 (นี้เป็นค่าเริ่มต้นแนะนำ)
ค่าเริ่มต้น: ไม่มีการนำเสนอ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรีจิสทรีคีย์ HeapDeCommitFreeBlockThreshold คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
315407คีย์รีจิสทรี "HeapDecommitFreeBlockThreshold"

การดำเนินการแปลง

โหลดข้อความทั้งหมดในหน่วยความจำเมื่อ BizTalk Server ทำการดำเนินการแปลง XML บนข้อความขนาดใหญ่ค่อนข้างในพอร์ต รับในพอร์ต ส่ง หรือใน XLANG แปลง XSL

เมื่อต้องการ แก้ไขปัญหานี้ ใช้หนึ่งในวิธีต่อไปนี้:
  • ลดจำนวนของข้อความที่ BizTalk Server กระบวนการในเวลาเดียวกัน
  • ลดขนาดของข้อความ XML ที่มีการส่ง แปลง
วัตถุSystem.Policy.Security.Evidenceมักใช้ในการแปลง และสามารถใช้เนื้อที่หน่วยความจำมาก เมื่อมีแผนที่ประกอบด้วย functoid เป็นสคริปต์ที่ใช้แบบอินไลน์ C# (หรือภาษาแบบอินไลน์อื่น ๆ), แอสเซมบลีที่ถูกสร้างในหน่วยความจำ วัตถุSystem.Policy.Security.Evidenceใช้วัตถุของแอสเซมบลีเรียกที่แท้จริง สถานการณ์นี้สร้างเป็นวัตถุ rooted ที่ถูกลบจนกระทั่งมีการเริ่มบริการ BizTalk ใหม่

มีการใช้งานส่วนใหญ่ของ functoids BizTalk เป็นค่าเริ่มต้นเป็นแบบอินไลน์สคริปต์ รายการเหล่านี้สามารถทำให้วัตถุ[] System.Byte เพื่อรวบรวมไว้ในหน่วยความจำ เพื่อลดปริมาณการใช้หน่วยความจำ เราขอแนะนำให้ คุณใส่แผนที่ใด ๆ ที่ใช้ functoids เหล่านี้ลงในแอสเซมบลีที่มีขนาดเล็ก อ้างอิงแอสเซมบลีที่แล้ว ใช้แผนภูมิต่อไปนี้เพื่อกำหนดว่า functoids ที่ใช้สคริปต์แบบอินไลน์ และ functoids ที่ไม่มีใช้สคริปต์แบบอินไลน์

ในคอลัมน์สอง "ใช่" หมายความว่า ที่ functoid นี้ถูกนำมาใช้เป็นสคริปต์แบบอินไลน์ และ ที่ดังกล่าวจะทำให้วัตถุ[] System.Byte จะรวบรวมไว้ในหน่วยความจำ หมาย "ไม่มี" ความ ว่า functoid นี้ไม่ใช้เป็นสคริปต์แบบอินไลน์ และที่ นั้นจะไม่ทำให้วัตถุ[] System.Byte เพื่อรวบรวมไว้ในหน่วยความจำ
ยุบตารางนี้ขยายตารางนี้
Functoidsสคริปต์แบบอินไลน์หรือไม่
Functoids สายอักขระทั้งหมดYes
Functoids คณิตศาสตร์ทั้งหมดYes
Functoids ตรรกะทั้งหมดยกเว้น IsNilYes
IsNil Functoid แบบลอจิคัลไม่ใช่
Functoids วัน / เวลาทั้งหมดYes
Functoids แปลงทั้งหมดYes
Functoids วิทยาศาสตร์ทั้งหมดYes
Functoids สะสมทั้งหมดYes
Functoids ฐานข้อมูลทั้งหมดไม่ใช่
Functoids ขั้นสูงสคริปต์แบบอินไลน์หรือไม่
Functoid การวนรอบไม่ใช่
การแม็ปค่าแบน Functoidไม่ใช่
Assert Functoidไม่ใช่
ตารางตัวดึง Functoidไม่ใช่
ตาราง Functoid วนรอบไม่ใช่
Functoid การเขียนสคริปต์ด้วยอินไลน์ C#Yes
การเขียนสคริปต์ Functoid กับ JScript.NET ในแนวเดียวกันYes
การเขียนสคริปต์ Functoid ด้วยอินไลน์ Visual BasicสุทธิYes
Functoid การเขียนสคริปต์ ด้วย XSLT ในแนวเดียวกันไม่ใช่
Functoid การเขียนสคริปต์ ด้วยแม่โทร XSLT ในแนวเดียวกันไม่ใช่
การเขียนสคริปต์ Functoid เรียกแอสเซมบลีภายนอกไม่ใช่
Functoid ค่าศูนย์ไม่ใช่
Functoid การแม็ปค่าไม่ใช่
Functoid การคัดลอกโดยรวมไม่ใช่
Functoid คำซ้ำไม่ใช่
ดัชนี Functoidไม่ใช่
Functoid จำนวนระเบียนไม่ใช่
BizTalk Server 2006 และรุ่นที่ใหม่กว่าเพิ่มสำหรับการจัดการหน่วยความจำมาก เอกสารขนาดใหญ่ เมื่อต้องการทำเช่นนี้ BizTalk Server ใช้ข้อความที่มีการจัดโครงแบบ เพดานขนาดสำหรับการโหลดเอกสารลงในหน่วยความจำในระหว่างการดำเนินการแปลง เขตแดนขนาดข้อความเริ่มต้นคือ 1 เมกะไบต์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า TransformThreshold, เว็บไซต์ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/aa560481.aspx

ค่าแอตทริบิวต์ที่มีขนาดใหญ่และค่าองค์ประกอบที่มีขนาดใหญ่

เมื่อเซิร์ฟเวอร์ BizTalk ดำเนินการรับ ขั้นตอนการขายหรือขั้นตอนการส่งบนเอกสาร XML ดำเนินการสิ่งที่เตรียมไว้แล้วใน หน่วยความจำถ้าเอกสารประกอบด้วยวิธีการอย่างใดอย่างหนึ่งยังหน่วยงานต่อไปนี้:
  • ค่าแอตทริบิวต์ที่มีขนาดใหญ่
  • ค่าองค์ประกอบที่มีขนาดใหญ่
  • แท็กแอตทริบิวต์หรือองค์ประกอบที่มีขนาดใหญ่
เมื่อต้องแก้ไขปัญหานี้ จำกัดขนาดของหน่วยงานเหล่านี้ ถ้านี้ วิธีใช้ไม่ได้ การตรวจสอบให้แน่ใจว่า ประมวลหลายอินสแตนซ์ของ BizTalk โฮสต์ของคุณ เอกสารเช่นนี้ในเวลาเดียวกัน

ไปป์ไลน์ที่กำหนดเอง

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

การส่งกระแสข้อมูลภายใต้ปัญหาหนา

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

ลักษณะการทำงานของ BizTalk Server ที่ได้รับผลกระทบ เนื่องจากโปรแกรมโหลดหมายเลขที่กำหนดไว้ล่วงหน้าของข้อความ หมายเลขของ ข้อความที่โหลดโปรแกรมการจะขึ้นอยู่กับค่าที่ปรากฏใน เขตข้อมูล LowWaterMark และ HighWaterMark ฟิลด์ของตาราง Adm_serviceClass ตาราง Adm_serviceClass อยู่ในฐานข้อมูลการจัดการ BizTalk ค่าเหล่านี้ จำนวนข้อความที่ BizTalk Server ประมวลผล หรือส่งในการควบคุมการ เวลาเดียวกัน

ค่าHighWaterMarkเป็นจำนวนทั้งหมดของข้อความที่โปรแกรมการประมวลผล ในเวลาเดียวกัน ค่าเริ่มต้นเป็นข้อความที่ 200 ต่อ CPU ดังนั้น ในการ เซิร์ฟเวอร์ที่มีตัวประมวลผล 8 ส่งโฮสต์จะพยายามประมวลผลข้อความ 1,600 (200 * 8) ที่ เวลาเดียวกัน ถ้าคุณคิดว่าแต่ละข้อความนั้นคือ 50 KB ข้อความเท่ากับ 80 เมกะไบต์ (1, 600 * 50 = 80, 000 KB)

เมื่อต้องแก้ไขปัญหานี้ คุณสามารถเปลี่ยนค่าHighWaterMarkและค่าLowWaterMarkในฐานข้อมูล ค่าที่คุณใช้ขึ้นอยู่กับขนาด ข้อความ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุของการ ออกจำเงื่อนไข โปรดดูส่วน "หน่วยความจำแบบเรขาคณิตใน BizTalk Messaging" ที่เว็บไซต์ Microsoft ต่อไปนี้:
http://blogs.msdn.com/biztalkperformance
สำหรับ BizTalk Server 2006 และรุ่นที่ใหม่กว่า คุณสามารถเปลี่ยนแปลงเจ้าภาพเริ่มต้น ตั้งค่าการควบคุมปริมาณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเปลี่ยนโฮสต์เป็นค่าเริ่มต้น ตั้งค่าการควบคุมปริมาณ โปรดเยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/aa559628.aspx

ความพยายามที่ทำให้ปัญหา

ถ้าคุณได้ระบุการรั่วไหลของหน่วยความจำ ลองค้นหาสาเหตุ โดยการเอาคอมโพเนนต์แบบกำหนดเอง หรือ โดยการให้แผนผัง นอกจากนี้ พยายามทดสอบว่า ปัญหา โดยใช้ orchestration แบบง่าย ๆ หรือแก้ไขปัญหาอย่างง่าย โดยทั่วไป คุณ สร้างแยกต่างหากได้รับได้รับการโฮสต์สำหรับการ์ดเชื่อมต่อ คุณยังควร สร้างโฮสต์ส่งแยกต่างหากสำหรับอะแด็ปเตอร์ส่ง เมื่อคุณใช้วิธีนี้ แต่ละ อะแดปเตอร์สามารถเรียกใช้ในกระบวนการอื่น ดังนั้น ถ้ากระบวนการของเซิร์ฟเวอร์ BizTalk ประสบเงื่อนไขออกจำเป็น คุณจะ ทราบว่าเกี่ยวข้องกับคอมโพเนนต์ใด

ขั้นตอนการแก้ไขปัญหาเบื้องต้น

เมื่อต้องแก้ไขเงื่อนไขการออกจำ ใช้ตัวตรวจแก้จุดบกพร่อง เครื่องมือการวินิจฉัยการตรวจสอบหน่วยความจำการปันส่วนเมื่อเวลาผ่านไป วินิจฉัยการตรวจแก้จุดบกพร่อง เครื่องมือสามารถสร้าง และวิเคราะห์หน่วยความจำรั่วไหลถ่ายโอนแฟ้ม (.dmp) เมื่อคุณ การแก้ไขปัญหาหน่วยความจำรั่ว เป้าหมายคือการ แนบ Leaktrack.dll ก่อนสูง เงื่อนไขของหน่วยความจำ reproduces เพื่อจับภาพการเติบโตของหน่วยความจำเมื่อเวลาผ่านไป Leaktrack.dll มีอยู่ในเครื่องมือวินิจฉัยการตรวจแก้จุดบกพร่อง
  1. ติดตั้งเครื่องมือการวินิจฉัยการตรวจแก้จุดบกพร่อง

    แฟ้มต่อไปนี้จะสามารถดาวน์โหลดได้จากศูนย์ดาวน์โหลดของไมโครซอฟท์:

    ยุบรูปภาพนี้ขยายรูปภาพนี้
    ดาวน์โหลด
    ดาวน์โหลดแพคเกจเครื่องมือการวินิจฉัยการตรวจแก้จุดบกพร่องในขณะนี้

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

วิธีการใช้บันทึกการตรวจสอบประสิทธิภาพ

เลือกข้อมูลการเข้าสู่ระบบ
เมื่อต้องเลือกข้อมูลการเข้าสู่ระบบ ให้ใช้วิธีการที่เหมาะสมสำหรับ ระบบปฏิบัติการของคุณ:
  • สำหรับ Windows Server 2008 และ Windows Server 2008 R2
    1. ในเครื่องมือการจัดการ เปิด ตรวจสอบประสิทธิภาพและความน่าเชื่อถือ.
    2. คลิกขวา ตรวจสอบประสิทธิภาพคลิก ใหม่ แล้ว คลิก ชุดตัวเก็บรวบรวมข้อมูล.
    3. ในการ ชื่อ กล่อง พิมพ์คำอธิบาย และจากนั้น คลิก ถัดไป.
    4. หมายเหตุไดเรกทอรีราก และจากนั้น คลิก ถัดไป.
    5. คลิก เริ่มการทำงานของตัวเก็บรวบรวมข้อมูลนี้ตั้งค่าในขณะนี้แล้ว คลิก เสร็จสิ้น.
    6. ขยาย ชุดตัวเก็บรวบรวมข้อมูลขยาย ผู้ใช้กำหนดเอง และจากนั้น เลือกแฟ้มของคุณ
    7. คลิกขวา บันทึกการตรวจสอบระบบแล้ว คลิก คุณสมบัติ.
    8. คลิก เพิ่ม ในการ เคาน์เตอร์วัดประสิทธิภาพการทำงาน แท็บเลือกวัตถุ การ เพิ่ม หลังจากที่คุณเลือกแต่ละวัตถุ:
      • .ข้อยกเว้น CLR สุทธิ
      • .หน่วยความจำ CLR สุทธิ
      • BizTalk: การส่งข้อความ
      • BizTalk:TDDS
      • หน่วยความจำ
      • กระบวนการ
      • ตัวประมวลผล
      • XLANG/s Orchestrations
      ถ้าเซิร์ฟเวอร์ SQL อยู่ท้องถิ่น เพิ่มวัตถุต่อไปนี้:
      • SQLServer:Databases
      • SQLServer:General สถิติ
      • SQLServer:Memory Manager
    9. คลิก ตกลง.
    10. การเปลี่ยนแปลง ตัวอย่างช่วงค่า กล่องเพื่อ 5 วินาที.

      หมายเหตุ ตัวอย่างช่วงค่าและเวลาที่จะเริ่มการตรวจสอบจะตามอัตวิสัย ค่าเหล่านี้ขึ้นเมื่อหน่วยความจำรั่วถูกห้ามไว้ เนื่องจากแฟ้มบันทึกอาจมีขนาดใหญ่ ระบุช่วงเวลาซึ่งคุณสามารถขอรับข้อมูลที่จำเป็น โดยไม่มีเซิร์ฟเวอร์การเข้าครอบงำ
    11. คลิก ตกลง.
    เมื่อต้องหยุดการรวบรวมข้อมูล คลิก ทำให้หยุดชะงัก ในการ การดำเนินการ เมนู
  • สำหรับ Windows Server 2003 หรือ Windows XP
    1. ขยาย แฟ้มบันทึกของประสิทธิภาพการทำงาน และ ข้อความแจ้งเตือน.
    2. คลิกขวา แฟ้มบันทึกของตัวนับแล้ว คลิก การตั้งค่าการบันทึกใหม่. ที่ การตั้งค่าการบันทึกใหม่กล่องโต้ตอบปรากฏขึ้น
    3. ในการ ชื่อ กล่อง พิมพ์คำอธิบาย ชื่อ และคลิก ตกลง.
    4. หมายเหตุตำแหน่งที่ตั้งของแฟ้มบันทึก (คุณสามารถคลิ แฟ้มบันทึก แท็บ และคลิก ตั้งค่าคอนฟิก เมื่อต้องการ เปลี่ยนตำแหน่งที่ตั้งของแฟ้มบันทึก)
    5. คลิก เพิ่มตัวนับ.
    6. เลือก ตัวนับทั้งหมด และ ทั้งหมด อินสแตนซ์.
    7. ในการ วัตถุของประสิทธิภาพการทำงาน รายการ เลือก วัตถุต่อไปนี้ คลิก เพิ่ม หลังจากที่คุณเลือกแต่ละวัตถุ
      • .ข้อยกเว้น CLR สุทธิ
      • .หน่วยความจำ CLR สุทธิ
      • BizTalk: การส่งข้อความ
      • BizTalk:TDDS
      • หน่วยความจำ
      • กระบวนการ
      • ตัวประมวลผล
      • XLANG/s Orchestrations
      ถ้าเซิร์ฟเวอร์ SQL อยู่ท้องถิ่น เพิ่มวัตถุต่อไปนี้:
      • SQLServer:Databases
      • SQLServer:General สถิติ
      • SQLServer:Memory Manager
    8. คลิก ปิด.
    9. การเปลี่ยนแปลงค่าใน การสุ่มตัวอย่างข้อมูล ช่วงเวลา เมื่อต้องการ 5 วินาที

      หมายเหตุ ค่าช่วงเวลาการสุ่มตัวอย่างข้อมูลและเวลาที่จะเริ่มการตรวจสอบจะตามอัตวิสัย ค่าเหล่านี้ขึ้นเมื่อหน่วยความจำรั่วถูกห้ามไว้ เนื่องจากแฟ้มบันทึกอาจมีขนาดใหญ่ ระบุช่วงเวลาซึ่งคุณสามารถขอรับข้อมูลที่จำเป็น โดยไม่มีเซิร์ฟเวอร์การเข้าครอบงำ
    10. คลิก ตกลง.
    เมื่อต้องหยุดการรวบรวมข้อมูล ให้คลิกขวาชื่อของแฟ้มบันทึกของตัวนับ จากนั้น คลิก ทำให้หยุดชะงัก.
การขอรับแฟ้มการถ่ายโอนข้อมูล
เมื่อต้องการขอรับแฟ้มการถ่ายโอนข้อมูล ใช้หนึ่งในวิธีต่อไปนี้:
  • วิธีที่ 1: อัตโนมัติ
    การสร้างกฎของหน่วยความจำและการจัดการการรั่วไหล ด้วย DebugDiag เป็นวิธีที่แนะนำในการจับภาพการถ่ายโอนข้อมูลหน่วยความจำ กฎของหน่วยความจำและการจัดการการรั่วไหลแนบโดยอัตโนมัติ Leaktrack.dll นี้ใช้การติดตามการปันส่วนของหน่วยความจำ เมื่อต้องสร้างกฎของหน่วยความจำและการจัดการรั่ว ให้ทำตามขั้นตอนเหล่านี้:
    1. เริ่มต้นการตรวจแก้จุดบกพร่อง เครื่องมือวินิจฉัย 1.1
    2. เลือก หน่วยความจำและหมายเลขอ้างอิงการรั่วไหลและ แล้ว คลิก ถัดไป.
    3. เลือก Btsntsvc.exe ประมวลผล และจากนั้น คลิก ถัดไป.
    4. บนเพจการตั้งค่าคอนฟิกกฎการรั่วไหล ให้ทำตามขั้นตอนเหล่านี้:
      1. คลิกเพื่อเลือก เริ่มการทำงานทันทีเมื่อมีการเรียกใช้กฎการติดตามของหน่วยความจำ กล่องกาเครื่องหมาย มิฉะนั้น คุณสามารถระบุเวลา warm-up ก่อน LeakTrack.dll กำลังส่งในกระบวนการ BTSNTSvc.exe
      2. คลิก ตั้งค่าคอนฟิกและดำเนินการต่อไปนี้:
        • ยืนยันว่า อัตโนมัติสร้างกฎความล้มเหลว เลือก เลือกตัวเลือกนี้ การถ่ายโอนข้อมูลหน่วยความจำจะถูกสร้างขึ้นโดยอัตโนมัติถ้ากระบวนการ BTSNTSvc.exe หยุด
        • คลิกเพื่อเลือก สร้าง userdump แบบเมื่อไปถึงเสมือนไบต์ กล่องกาเครื่องหมาย และเก็บค่าเริ่มต้นของ 1024.
        • คลิกเพื่อเลือก และละเพิ่มเติม กล่องกาเครื่องหมาย และเก็บค่าเริ่มต้นที่ 200
        โดยการเลือกไบต์เสมือนไปถึงตัวเลือก การถ่ายโอนข้อมูลหน่วยความจำจะถูกสร้างโดยอัตโนมัติเมื่อ 1024 เมกะไบต์เสมือนใช้ ถ้าไบต์เสมือนเพิ่ม 200 เมกะไบต์ ถ่ายโอนข้อมูลหน่วยความจำอื่นจะถูกสร้างขึ้นโดยอัตโนมัติ
      3. คลิกบันทึก & ปิด
      4. คลิกถัดไป
    5. บนหน้าเลือกถ่ายโอนข้อมูลตำแหน่งที่ตั้งและชื่อกฎ คลิก ถัดไป.

      หมายเหตุ นอกจากนี้คุณยังสามารถเปลี่ยนเส้นทางของแฟ้มการถ่ายโอนข้อมูลในการ ตำแหน่งที่ตั้งของ Userdump กล่องบนเพจนี้
    6. คลิก เสร็จสิ้น เมื่อต้องการทำให้กฎที่ใช้งานอยู่ในขณะนี้
    หมายเหตุ ขณะนี้มีการติดตามสถานะของกฎ ทุกครั้งที่มีสร้างการถ่ายโอนข้อมูลหน่วยความจำ ค่าจะเพิ่มขึ้นในคอลัมน์ Userdump นับบนแท็บกฎ ตำแหน่งที่ตั้งการถ่ายโอนข้อมูลหน่วยความจำที่เริ่มต้นคือ C:\Program Files\DebugDiag\Logs
  • วิธีที่ 2: ด้วยตนเอง
    คุณสามารถแนบการ Leaktrack.dll ด้วยตนเอง และการขอรับแฟ้มการถ่ายโอนข้อมูลหน่วยความจำด้วยตนเอง ซึ่งทำให้คุณควบคุมเมื่อสร้างการถ่ายโอนข้อมูลหน่วยความจำ เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้:
    1. เริ่มต้นการตรวจแก้จุดบกพร่อง เครื่องมือวินิจฉัย 1.1
    2. คลิก กระบวนการ แท็บ
    3. คลิกขวา Btsntsvc.exe ประมวลผล และจากนั้น คลิก ตรวจสอบหารอยรั่ว.
    4. ในการ เครื่องมือวินิจฉัยการตรวจแก้จุดบกพร่อง กล่องโต้ตอบ กล่อง คลิก Yesแล้ว คลิก ตกลง.
    สร้างกฎการตรวจสอบขั้นตอน Btsntsvc.exe เดียวกันในกรณีที่กระบวนการหยุดทำงานก่อนที่คุณสามารถสร้างการถ่ายโอนข้อมูลหน่วยความจำเกิดความผิดพลาด:
    1. เริ่มเครื่องมือวินิจฉัย 1.1 ตรวจแก้จุดบกพร่อง
    2. เลือก ความล้มเหลวแล้ว คลิก ถัดไป.
    3. เลือก กระบวนการเฉพาะแล้ว คลิก ถัดไป.
    4. เลือกกระบวนการ Btsntsvc.exe เดียวกัน และจากนั้น คลิก ถัดไป.
    5. ในการ กำหนดค่าขั้นสูง (ถ้ามี) หน้า คลิก ถัดไป.
    6. ในการ เลือกตำแหน่งที่ตั้งในการถ่ายโอนข้อมูลและชื่อของกฎ (ถ้ามี) กล่องโต้ตอบ คลิก ถัดไป.
    7. เลือก เรียกใช้กฎเดี๋ยวนี้แล้ว คลิก'เสร็จสิ้น'
    เมื่อกระบวนการถึง 60 เปอร์เซ็นต์การ 80 เปอร์เซ็นต์ของ RAM คลิกขวากระบวนการ Btsntsvc.exe และจากนั้น คลิก สร้าง Userdump แบบเต็ม. ถ้ากระบวนการ BizTalk หยุดก่อนที่คุณสามารถสร้างการถ่ายโอนข้อมูลผู้ใช้ กฎเกิดความผิดพลาดควรมีผล และสร้างการถ่ายโอนข้อมูลหน่วยความจำ
หยุดการบันทึกการตรวจสอบประสิทธิภาพ
ถ้าคุณจับภาพการถ่ายโอนข้อมูลหน่วยความจำและข้อมูลการตรวจสอบประสิทธิภาพ หยุดประมาณ 2 นาทีหลังจากสร้างการถ่ายโอนข้อมูลหน่วยความจำในการเข้าสู่ระบบการตรวจสอบประสิทธิภาพ
วิเคราะห์แฟ้มการถ่ายโอนข้อมูล
เมื่อต้องการค้นหาสาเหตุของการรั่วไหลของหน่วยความจำ คุณสามารถใช้ตัวตรวจแก้จุดบกพร่อง เครื่องมือวินิจฉัยที่วิเคราะห์แฟ้มการถ่ายโอนข้อมูล เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้:
  1. คลิก การวิเคราะห์ขั้นสูงแท็บ
  2. คลิก เพิ่มแฟ้มข้อมูลจากนั้น ระบุตำแหน่งที่ตั้ง .dmp แฟ้ม
  3. เลือก หน่วยความจำไวต่อแรงกดวิเคราะห์สคริปต์ และคลิก การวิเคราะห์เริ่มต้น.
โดยค่าเริ่มต้น การรายงานการวิเคราะห์แฟ้ม (.mht) จะมีสร้างในโฟลเดอร์ C:\Program Files\DebugDiag\Reports เมื่อวิเคราะห์เสร็จสมบูรณ์แล้ว แฟ้มการรายงานจะถูกแสดงในเบราว์เซอร์ของคุณ แฟ้มการรายงาน ประกอบด้วยผลการวิเคราะห์ นอกจากนี้ อาจประกอบด้วยแฟ้มรายงาน คำแนะนำสำหรับวิธีการแก้ไขปัญหาการรั่วไหลของหน่วยความจำ

ถ้าคุณใช้การกำหนดเอง Dll คุณสามารถเพิ่มเส้นทางสัญลักษณ์ของไฟล์.pdb แบบกำหนดเองสำหรับการวิเคราะห์ เมื่อต้องทำ นี้ให้ทำตามขั้นตอนเหล่านี้:
  1. เปิดเครื่องมือวินิจฉัยการตรวจแก้จุดบกพร่อง
  2. ในการ เครื่องมือ เมนู คลิก ตัวเลือก และการตั้งค่า.
  3. ในการ เส้นทางการค้นหาสัญลักษณ์สำหรับการดีบักกล่อง พิมพ์เส้นทางสัญลักษณ์
ถ้าคุณต้องการความช่วยเหลือในการวิเคราะห์แฟ้มการถ่ายโอนข้อมูล ติดต่อ Microsoft บริการการสนับสนุนลูกค้า สำหรับรายการทั้งหมดของฝ่ายบริการสนับสนุนลูกค้า หมายเลขโทรศัพท์หมายเลขและข้อมูลเกี่ยวกับค่าใช้จ่าย การเยี่ยมชมต่อไปนี้ เว็บไซต์ของ Microsoft:
ฝ่าย
ก่อนที่คุณติดต่อบริการสนับสนุนลูกค้า บีบอัดแฟ้มการถ่ายโอนข้อมูล บันทึกการตรวจสอบประสิทธิภาพ แฟ้มรายงานการวิเคราะห์ และบันทึกเหตุการณ์การปรับปรุง (ไฟล์.evt) คุณอาจต้องส่งแฟ้มเหล่านี้ไปยังเซิร์ฟเวอร์ BizTalk สนับสนุนวิศวกร

คุณสมบัติ

หมายเลขบทความ (Article ID): 918643 - รีวิวครั้งสุดท้าย: 13 มิถุนายน 2555 - Revision: 5.0
ใช้กับ
  • Microsoft BizTalk Server Branch 2010
  • Microsoft BizTalk Server Developer 2010
  • Microsoft BizTalk Server Enterprise 2010
  • Microsoft BizTalk Server Standard 2010
  • Microsoft BizTalk Server 2009 Branch
  • Microsoft BizTalk Server 2009 Developer
  • Microsoft BizTalk Server 2009 Enterprise
  • Microsoft BizTalk Server 2009 Standard
  • Microsoft BizTalk Server 2006 R2 Branch
  • Microsoft BizTalk Server 2006 R2 Developer Edition
  • Microsoft BizTalk Server 2006 R2 Enterprise Edition
  • Microsoft BizTalk Server 2006 R2 Standard Edition
  • Microsoft BizTalk Server 2006 Enterprise Edition
  • Microsoft BizTalk Server 2006 Developer Edition
  • Microsoft BizTalk Server 2006 Standard Edition
  • Microsoft BizTalk Server 2004 Enterprise Edition
  • Microsoft BizTalk Server 2004 Developer Edition
  • Microsoft BizTalk Server 2004 Partner Edition
  • Microsoft BizTalk Server 2004 Standard Edition
Keywords: 
kbhowto kbmt KB918643 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:918643

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

 

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