كيفية استكشاف أخطاء وإصلاحها تسرب لذاكرة أو استثناء نفاد الذاكرة في عملية BizTalk Server

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية918643
الموجز
تسرب الذاكرة مشكلة شائعة. قد تضطر لإعادة العديد من الخطوات للبحث عن السبب المحدد من تسرب لذاكرة أو استثناء خارج ذاكرة (أوم) في Microsoft BizTalk Server. تتناول هذه المقالة الأمور الهامة في الاعتبار عند تقييم استخدام الذاكرة والمسائل المتعلقة بالذاكرة. وتشمل هذه الاعتبارات ما يلي:
  • ذاكرة الوصول العشوائي الفعلية
  • معالجة الرسائل الكبيرة
  • باستخدام /3 غيغا بايت رمز التبديل
  • استخدام مكونات مخصصة
  • أي إصدار من Microsoft.NET Framework تشغيل النظام
  • عدد المعالجات
مقدمة حول
توضح هذه المقالة كيفية استكشاف تسرب لذاكرة أو استثناء نفاد الذاكرة في عملية BizTalk Server من Microsoft BizTalk Server.
معلومات أخرى
قد تواجه عملية خادم BizTalk تسرب لذاكرة عند استخدام الذاكرة في إدارة مهام Windows Microsoft يستهلك أكثر من 50 في المائة من ذاكرة الوصول العشوائي الفعلية. تسرب ذاكرة يؤدي استثناء خارج الذاكرة عند زيادة استخدام الذاكرة حتى يتم تشغيل العملية من ذاكرة النظام أو حتى توقف العملية يعمل.

عند حدوث هذه المشكلة، يتم تسجيل رسالة تحذير تشبه الرسالة التالية في سجل الأحداث:

نوع الحدث: تحذير
فئة الحدث: (1)
معرف الحدث: 5410
الوصف: حدث خطأ تتطلب الخدمة BizTalk لإنهاء. الأسباب الأكثر شيوعاً متوقع من خطأ في الذاكرة وقدرة على الاتصال أو فقدان الاتصال بإحدى قواعد البيانات BizTalk. خدمة سيتم إيقاف وإعادة التشغيل التلقائي في دقيقة واحدة. إذا بقيت مشكوك قاعدة البيانات غير متوفرة، سيتم تكرار هذه الدورة.
رسالة الخطأ: نوع System.OutOfMemoryException تم طرح استثناء.
المصدر الخطأ:
اسم المضيف BizTalk: بيزتالكسيرفيرابليكيشن
اسم خدمة Windows: BTSSvc {DCC899FE-C62F-41BE-851A-8720B2EB9C14}

نوع الحدث: تحذير
فئة الحدث: (1)
معرف الحدث: 5410
الوصف: حدث خطأ تتطلب الخدمة BizTalk لإنهاء. الأسباب الأكثر شيوعاً هي التالية: 1) خارج الذاكرة خطأ غير متوقع. أو 2) عدم قدرة على الاتصال أو فقدان الاتصال بإحدى قواعد البيانات BizTalk. خدمة سيتم إيقاف وإعادة التشغيل التلقائي في دقيقة واحدة. إذا بقيت مشكوك قاعدة البيانات غير متوفرة، سيتم تكرار هذه الدورة.
رسالة الخطأ: من النوع 'System.OutOfMemoryException' تم طرح استثناء.
المصدر الخطأ: mscorlib
اسم المضيف BizTalk: بيزتالكسيرفيرابليكيشن
اسم خدمة Windows: بيزتالكسيرفيرابليكيشن $ BTSSvc

اعتبارات هامة

استخدام الذاكرة والذاكرة RAM الفعلية

لأنه قد يكون السلوك المتوقع لعملية استخدام نصف الذاكرة RAM الفعلية، استخدم استخدام الذاكرة كمبدأ توجيهي. على سبيل المثال، إذا كان خادم BizTalk 4 غيغابايت (GB) من ذاكرة الوصول العشوائي، وعملية BizTalk Server يستخدم حوالي 500 ميغا بايت من ذاكرة الوصول العشوائي، ربما لا تسرب. إذا كانت عملية BizTalk Server يستخدم حوالي 1 غيغابايت من ذاكرة الوصول العشوائي، قد يكون هناك تسرب لذاكرة أو حالة ذاكرة العليا. قد يكون سبب استهلاك الذاكرة طويلة إجراء مخزن أو تزامن. تأكد من أنك تعرف مقدار الذاكرة الذي يستخدم المضيف BizTalk عادة لتحديد ما إذا كان يتم حدوث تسرب للذاكرة أو شرط الذاكرة العليا.

رسائل كبيرة الحجم

عندما تقوم بمعالجة BizTalk Server رسائل كبيرة الحجم، يبدو النظام أن تسرب ذاكرة. ومع ذلك، يمكن استخدام الرسائل قدرا كبيرا من الذاكرة. لمزيد من المعلومات حول رسائل كبيرة الحجم، قم بزيارة مواقع شبكة مطوري Microsoft (MSDN) التالية على الويب: أيضا، ضع في اعتبارك قد المتوقع استخدام الذاكرة العليا إذا كان خادم BizTalk معالجة الرسائل الكبيرة. قد تحتاج إلى ترقية الأجهزة لديك لتلبية متطلبات الأداء BizTalk Server في البيئة الخاصة بك.

الوقت المستغرق لإعادة إنتاج تسرب الذاكرة

يمكن أن يحدث تسرب للذاكرة مباشرة أو قد تتراكم مع مرور الوقت. كل من السيناريوهات الشائعة.

استخدام رمز التبديل/3GB على أجهزة الكمبيوتر 32-بت

بشكل عام، عملية الوصول إلى 2 غيغابايت من مساحة العنوان الظاهرية. رمز التبديل /3GB هو خيار للأنظمة التي تتطلب المزيد من الذاكرة عنونة. قد يحسن هذا الخيار استخدام الذاكرة لمعالجة الرسائل. ومع ذلك، يسمح رمز التبديل /3GB لفقط ذاكرة سعة 1 جيجابايت قابلة للتوجيه لعمليات وضع kernel. بالإضافة إلى ذلك، قد تزيد من رمز التبديل هذا خطر نفاد ذاكرة التجمع.

لمزيد من المعلومات حول 3 غيغابايت التبديل، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب: عند تمكين مفتاح التبديل /3GB على إصدار 32 بت من Windows، العملية يمكن الوصول إلى 3 غيغابايت من مساحة العنوان الظاهرية إذا كانت العملية العنوان الكبيرة على علم. عملية العنوان الكبيرة على علم عندما علم IMAGE_FILE_LARGE_ADDRESS_AWARE في صورة رأس الملف التنفيذي. لأن عملية BizTalk العنوان الكبيرة على علم، BizTalk سوف تستفيد من رمز التبديل/3GB.

إذا كان يعمل مثيل مضيف BizTalk 32 بت على إصدار 64-بت من Windows (AMD64)، فوائد عملية BizTalk من ذاكرة سعة 4 غيغابايت مساحة العنوان أنه BizTalk العنوان الكبيرة على علم. لذلك، نقل التطبيقات الذاكرة العليا إلى ملقم 64 بت قد يكون أفضل حل.

لقد BizTalk عملية 64-بت على إصدار 64-بت من Windows (AMD64) 8 تيرابايت ذاكرة عنونة.

يجب عليك أيضا وحدات البايت الظاهرية "و" وحدات البايت الخاصة التي تستخدم بواسطة العملية. قد تظهر مثيل مضيف BizTalk (وتطبيق.NET Framework) خارج خطأ الذاكرة قبل أن تصل قيمة "البايت الظاهري" إلى 2 غيغابايت. قد يحدث هذا على الرغم من أن الحد الأقصى للذاكرة عنونة قبل عملية على إصدار 32 بت من Windows (بدون رمز التبديل /3GB ) هو 2 غيغابايت. للحصول على شرح لماذا يمكن أن يحدث هذا، قم بزيارة مواقع شبكة مطوري Microsoft (MSDN) التالية على الويب: رمز التبديل /3GB أيضا زيادة الحد الأقصى وحدات البايت الخاصة عملية BizTalk من 800 ميغا بايت إلى 1800 ميغا بايت. لمزيد من المعلومات حول.NET Framework أداء التطبيق مع رمز التبديل /3GB ممكنة، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب: الجدول التالي يلخص هذه المعلومات وتتضمن حدود عملية لوحدات البايت الظاهرية "و" وحدات البايت الخاصة.
عمليةWindowsذاكرة قابلة للتوجيه (مع عملية مراعاة عنوان كبير)حد عملي لوحدات البايت الظاهريةحد عملي لوحدات البايت الخاصة
32-بت32-بت2 جيجابايت1400 ميغابايت800 ميغا بايت
32-بت32-بت مع 3 غيغا بايت3 غيغا بايت2400 ميغا بايت1800 ميغا بايت
32-بت64-بت4 جيجابايت3400 ميغا بايت2800 ميغا بايت
64-بت64-بت8 تيرابايتغير قابل للتطبيقغير قابل للتطبيق
لمزيد من المعلومات حول الذاكرة عنونة ل 32 بت و 64-بت Windows، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب: يسرد الجدول التالي المحسنة PAE و 3 غيغابايت لإصدارات مختلفة من خادم BizTalk.
المنتجملحق العنوان الفعلي3 غيغا بايت
BizTalk Server 2004نعملا
BizTalk Server 2006نعمنعم
BizTalk Server 2006 R2نعمنعم
خادم BizTalk 2009نعمنعم
يجب تمكين رمز التبديل /3GB للوفاء بمتطلبات أداء الكمبيوتر الذي يقوم بتشغيل خادم BizTalk، قد تحتاج إلى إضافة ملقمات إلى مجموعة BizTalk. يتيح لك ذلك لقياس حالات المضيف الذاكرة بشكل كبير.

مكونات BizTalk التي تعمل داخل عملية خدمات معلومات إنترنت (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 أو الإصدارات اللاحقة

استخدام مكونات مخصصة

إذا كنت تستخدم مكونات مخصصة، مثل خطوط الأنابيب أو مكونات خدمة، يجب معرفة ما تقوم به هذه المكونات. يجب عليك أيضا معرفة الأثر المحتمل لهذه المكونات على استخدام الذاكرة. مشكلة في ذاكرة مشتركة عند تحويل مستند مكون. عملية تحويل عملية تستهلك ذاكرة كبيرة. عند تحويل مستند، يمرر BizTalk Server دفق الرسالة إلى فئة Microsoft.NET Framework XslTransform داخل عملية BizTalk.

تحدث المشكلة الشائعة آخر عند معالجة سلسلة مكثفة. معالجة سلسلة مكثفة يمكن أن تستهلك الكثير من الذاكرة. لمزيد من المعلومات حول طرق لتحسين الأداء، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

إصدار من برنامج.NET Framework

Microsoft.NET 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) على جامعي القمامة التالية (النظام):
  • محطة العمل (Mscorwks.dll)
  • ملقم (Mscorsvr.dll)
إذا كان الكمبيوتر الذي يقوم بتشغيل خادم BizTalk نظام متعدد المعالجات، يستخدم.NET Framework إصدار الخادم من محرك التنفيذ. هذا هو السلوك الافتراضي. جامع البيانات المهملة ملقم مصممة لأقصى قدر من الإنتاجية. بالإضافة إلى ذلك، يقيس جامع البيانات المهملة الخادم لتوفير أداء عالي جداً. يخصص ذاكرة هذا جامع البيانات المهملة وثم فيما بعد بتحرير الذاكرة لتوفير الأداء العالي على النظام. ولذلك، يبدو كمبيوتر الذي يقوم بتشغيل خادم BizTalk جنبا إلى جنب مع بعض المكونات.NET Framework يكون تسرب ذاكرة. ومع ذلك، في هذا السيناريو، يتم استخدام ذاكرة عالية السلوك المتوقع. إذا كان الكمبيوتر نفدت ذاكرة النظام، أو العملية توقف عن العمل بسبب عدم كفاية الذاكرة عنونة، قد توجد حالة تسرب ذاكرة.

إذا كان الكمبيوتر الذي يقوم بتشغيل خادم BizTalk نظام معالج واحد، يستخدم.NET Framework إصدار محطة عمل محرك التنفيذ. هذا هو السلوك الافتراضي. خوارزمية تخصيص جامع البيانات المهملة محطة العمل غير مصمم لقياس أو لأقصى قدر من الإنتاجية. يستخدم هذا جامع البيانات المهملة أساليب جامع البيانات المهملة المتزامنة. تم تصميم هذه الأساليب للتطبيقات التي تحتوي على واجهات مستخدم معقدة. قد تتطلب هذه التطبيقات أكثر عدوانية المهملة.

هام هذا المقطع أو أسلوب أو مهمة تحتوي على الخطوات التي توضح كيفية تعديل التسجيل. ومع ذلك، قد تحدث مشكلات خطيرة إذا قمت بتعديل السجل بشكل غير صحيح. لذلك، تأكد من اتباع هذه الخطوات بعناية. للحماية الإضافية، قم بعمل نسخة احتياطية من السجل قبل تعديله. بعد ذلك، يمكنك استعادة السجل في حالة حدوث مشكلة. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية من السجل واستعادته، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
322756 كيفية عمل نسخة احتياطية من السجل واستعادته في نظام التشغيل Windows
في بعض الأحيان، قد يكون من المناسب لتشغيل إصدار محطة عمل محرك التنفيذ على نظام متعدد المعالجات. يمكنك استخدام مفتاح التسجيل التالي للتبديل إلى إصدار محطة عمل محرك التنفيذ.

BizTalk 2006 والإصدارات الأحدث

إنشاء مفتاح التسجيل التالي سلسلة استضافة CRL بالقيم المطابقة:

استضافة HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$بيزتالخوستنامي\CLR

الاسم: الصفة
البيانات: wks

BizTalk 2004

إنشاء مفتاح التسجيل التالي سلسلة استضافة CRL بالقيم المطابقة:

المضيف \CLR HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\BTSSvc {GUID}

الاسم: الصفة
البيانات: wks

لمزيد من المعلومات، قم بزيارة مواقع شبكة مطوري Microsoft (MSDN) التالية على الويب:

الأسباب الشائعة والحلول

استخدام ذاكرة العملية وكبح عتبات استخدام الذاكرة الفعلية

يمكن تغيير استخدام ذاكرة العملية وكبح عتبات استخدام الذاكرة الفعلية في BizTalk Server 2006 والإصدارات الأحدث.
  • بشكل افتراضي، يتم تعيين التحكم عتبة استخدام ذاكرة العملية إلى 25. إذا تم تجاوز هذه القيمة واستخدام ذاكرة العملية BizTalk أكثر من 300 ميغا بايت، قد تحدث شرط اختناق. على ملقم 32 بت، يمكنك زيادة قيمة استخدام ذاكرة العملية إلى 50. على ملقم 64 بت، يمكنك زيادة هذه القيمة إلى 100. يسمح هذا لمزيد من استهلاك الذاكرة قبل عملية BizTalk قبل حدوث اختناق.
  • استخدام الذاكرة الفعلية عتبة التحكم بقيمة افتراضية 0. يقيس هذا العتبة ذاكرة النظام الإجمالي. ولذلك، إذا تم تكوين قيمة غير 0، يمكن أن يحدث شرط اختناق إذا كانت تستخدم عملية غير BizTalk الذاكرة العليا.
لمزيد من المعلومات حول حدود التحكم، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

كبح عتبات الجفاف

يؤدي الجفاف الكثير عتبات الجفاف الذاكرة الافتراضية عندما يتم تشغيل التوزيعات الموسيقية على مضيف 64 بت. لمزيد من المعلومات حول هذه المشكلة، راجع الموضوع الجفاف الخصائص الافتراضية على موقع شبكة مطوري Microsoft (MSDN) التالي على الويب: ملاحظة المضيفين 64 بت المدعمة في BizTalk Server 2006 والإصدارات الأحدث.

على الأجهزة مكافئ في مثيل مضيف 32 بت، الجفاف ملاحظتها الأسمى عند تشغيل باستخدام الجفاف الذاكرة الافتراضية كبح عتبات التوزيعات الموسيقية نفس.

لأن بنية 64 بت يوفر مساحة عنوان الذاكرة الموسعة (16 تيرابايت بدلاً من 4 غيغا بايت)، يتم تخصيص مثيلات المضيف 64 بت إلى ذاكرة أكثر من مثيل لمضيف 32 بت. يمكن أن يسبب هذا عتبات التحكم الذاكرة الافتراضية إلى تجاوز.

لحل هذا السلوك، تغيير القيم فيرتوالميموريثروتلينجكريتيريا وبريفاتيميموريثروتلينجكريتيريا في الملف BTSNTSvc64.exe.config. استخدام وحدات البايت Process\Virtual وعدادات مراقبة الأداء بايت Process\Private لتحديد مقدار أكبر من الذاكرة المخصصة من قبل مثيل تزامن.
  • تعيين قيمة أوبتيمالوساجي لكل من الخصائص على ما يلي:
    فيرتوالميموريثروتلينجكريتيريا: قيمة البايت \Process\Virtual + 10%
    بريفاتيميموريثروتلينجكريتيريا: قيمة البايت \Process\Private + 10%
  • تعيين ماكسيمالوساجي لكلتا الخاصيتين إلى القيمة أوبتيمالوساجي + 30%
على سبيل المثال، إذا كان \Process\Virtual قيمة عداد "البايت مراقبة الأداء" لمثيل تزامن 5,784,787,695 بايت (5,517 MB)، تعيين قيمة أوبتيمالوساجي فيرتوالميموريثروتلينجكريتيريا إلى 6,069 بايت (5,784,787,695 * 1.10 = 6,363,266,464.5 بايت). تعيين قيمة ماكسيمالوساجي فيرتوالميموريثروتلينجكريتيريا إلى 7,889 بايت (6,363,266,464.5 * 1.30 = 8,272,246,403.85 بايت).

إذا كان \Process\Private قيمة عداد "البايت مراقبة الأداء" 435689400 بايت (415 ميغا بايت)، بتعيين قيمة أوبتيمالوساجي بريفاتيميموريثروتلينجكريتيريا إلى 457 ميغابايت (435689400 * 1.10 = 479258340 بايت). تعيين قيمة ماكسيمالوساجي بريفاتيميموريثروتلينجكريتيريا إلى 594 ميغا بايت (479258340 * 1.30 = 623035842).

على سبيل المثال، أن تحديد القيم التالية في الملف BTSNTSvc64.exe.config لتقليل التحكم.
عدادات مراقبة الأداءتخصيص الذاكرةأوبتيمالوساجيماكسيمالوساجي
\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>
لتحديد مثيل المضيف الذي يقوم بتشغيل التزامن، يمكنك مطابقة معرف العملية من \BizTalk:Messaging\ID العملية وعدادات "مراقبة الأداء عملية" \Process\ID. وبعد ذلك، تحقق متوسط القيمة المعروضة للمقابلة \Process\Virtual بايت وعدادات "مراقبة الأداء بايت" \Process\Private.

ملاحظة قد يؤدي الجفاف ارتفاع حدوث انخفاض في الأداء عند تشغيل قاعدة البيانات بيزتالكمسجبوكسدب على SQL Server 2008.

خادم BizTalk حزم الخدمة والتحديثات التراكمية

خادم BizTalk حزم الخدمة والتحديثات التراكمية تتضمن أحدث الإصلاحات. وهي تتضمن تلك التي تؤثر على المشكلات المعروفة System.OutOfMemoryException.

2281783 قائمة الإصلاحات والتحديث التراكمي ل BizTalk Server 2006 R2

Microsoft BizTalk Server 2004 Service Pack 2

هيبديكوميتفريبلوكثريشولد

بشكل افتراضي، هو قيمة مفتاح التسجيل ثيهيبديكومميتفريبلوكثريشولد 0. قيمة 0 يعني أن إدارة كومة الذاكرة المؤقتة decommits كل صفحة 4 كيلوبايت (KB) التي تصبح متوفرة. إلغاء تتسبب عمليات تجزئة الذاكرة الظاهرية. يعتمد حجم الإعداد هيبديكوميتفريبلوكثريشولد في إدارة كومة الذاكرة المؤقتة على نوع العمل الذي يقوم به النظام. حجم 0x00040000 قيمة بداية الموصى بها.

خذ بعين الاعتبار المعلومات التالية قبل تغيير القيمة
HeapDeCommitFreeBlockThreshold
مفتاح التسجيل:
  • ينطبق هذا التغيير فقط على فراجمينتاتيونبروبليمس الذاكرة.
  • يتم تغيير هذا النظام. ولذلك، معظم العمليات ويلس المزيد من الذاكرة عند بدء التشغيل.
  • يمكنك هذا التغيير للأنظمة التي تحتوي على بيزتالكسيرفير مهمتهم الأساسية فقط.
للمساعدة في تقليل تجزئة الذاكرة الظاهرية، يمكنك زيادة حجم الإعداد هيبديكوميتفريبلوكثريشولد في إدارة كومة الذاكرة المؤقتة عن طريق تغيير قيمة مفتاح التسجيل التالي:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager


اسم القيمة: هيبديكوميتفريبلوكثريشولد
نوع القيمة: REG_DWORD
قيمة البيانات: 0x00040000 (هذا هو قيمة البداية الموصى بها.)
القيمة الافتراضية: غير موجود
لمزيد من المعلومات حول مفتاح التسجيل هيبديكوميتفريبلوكثريشولد، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
315407 مفتاح التسجيل "هيبديكوميتفريبلوكثريشولد"

عمليات التحويل

عند BizTalk Server بتنفيذ عمليات تحويل XML على رسائل إلى حد كبير في منفذ تلقي، في منفذ إرسال أو في XLANG، تحويل XSL تحميل الرسالة كاملة في الذاكرة...

لحل هذه المشكلة، استخدم إحدى الطرق التالية:
  • تقليل عدد الرسائل التي سيرفيربروسيسيس BizTalk في نفس الوقت.
  • تقليل حجم الرسالة XML التي يتم بينجترانسفورميد.
الكائن System.Policy.Security.Evidence كثيرا ما يستخدم في التحويلات ويمكن أن تستهلك الكثير من الذاكرة. عندما يحتوي مخطط functoid برمجة يستخدم السطر C # (أو أي لغة أخرى مضمنة)، يتم إنشاء التجميع في الذاكرة. يستخدم الكائن System.Policy.Security.Evidence الكائن الفعلي التجميع المستدعي. ينشئ هذا الموقف كائن الجذور لن يتم حذفها حتى يتم إعادة تشغيل خدمة BizTalk.

وتنفذ معظم functoids BizTalk الافتراضي كالبرامج النصية المضمنة. يمكن أن يسبب هذه العناصر الكائنات [] System.Byte لتجميع في الذاكرة. لتقليل استهلاك الذاكرة، نوصي بوضع أي مخطط يستخدم هذه functoids إلى تجميع صغيرة. وبعد ذلك، ترجع إلى هذا التجميع.استخدم الجدول التالي لتحديد functoids التي تستخدم البرامج النصية المضمنة و functoids التي لا تستخدم البرامج النصية المضمنة.

في العمود الثاني، "نعم" يعني هذا functoid يتم تطبيقها كالبرامج النصية المضمنة، وسوف يؤدي الكائنات [] System.Byte لتجميع في الذاكرة. "لا" يعني أن هذا functoid لا ينفذ كبرنامج نصي مضمنة وأنه لن يسبب الكائنات [] System.Byte لتجميع في الذاكرة.
Functoidsالبرامج النصية المضمنة؟
كافة Functoids سلسلةنعم
كافة Functoids الرياضيةنعم
كافة Functoids منطقية فيما عدا IsNilنعم
IsNil Functoid المنطقيةلا
كافة Functoids التاريخ/الوقتنعم
Functoids تحويل كافةنعم
كافة Functoids العلميةنعم
كافة Functoids التراكمينعم
كافة قواعد البيانات Functoidsلا
Functoids المتقدمةالبرامج النصية المضمنة؟
حلقي Functoidلا
القيمة التي تم تعيين Functoid التسويةلا
تأكيد Functoidلا
جدول مستخرج Functoidلا
Functoid تكرار الجدوللا
Functoid البرمجة مع السطر # Cنعم
Functoid البرمجة مع JScript.NET المضمنةنعم
Functoid البرمجة مع.NET مضمنة Visual Basicنعم
Functoid البرمجة باستخدام XSLT مضمنةلا
Functoid البرمجة باستخدام قالب المكالمة XSLT مضمنةلا
Functoid البرمجة استدعاء "تجميع خارجي"لا
Functoid قيمة الصفرلا
Functoid تعيين القيمةلا
Functoid نسخة الجماعيلا
Functoid تكرارلا
Functoid الفهرسلا
Functoid عدد السجلاتلا
BizTalk Server 2006 والإصدارات الأحدث إلى حد كبير تحسين إدارة الذاكرة للوثائق الكبيرة. خادم BizTalk للقيام بذلك، بتطبيق حد حجم رسائل القابلة لتكوين لتحميل المستندات إلى الذاكرة أثناء عمليات التحويل. حد حجم الرسائل الافتراضي هو 1 ميغابايت. لمزيد من المعلومات حول إعداد ترانسفورمثريشولد، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

قيم السمة كبيرة وقيم عنصر كبير

عندما ينفذ خادم BizTalk توجيه تلقي أو خط أنابيب إرسال على مستند XML، تتم معالجة الحمولة في الذاكرة إذا كان المستند يحتوي على واحد أو أكثر من الوحدات التالية:
  • قيم السمة كبيرة
  • قيم عنصر كبير
  • علامات سمة أو عنصر كبير
لحل هذه المشكلة، تحديد حجم هذه الكيانات. إذا كانت هذه الطريقة غير ممكنة، تأكد من أن المثيل BizTalk المضيف الخاص بك لا تعالج عدة مستندات مثل هذه في نفس الوقت.

مكونات التدفقات المخصصة

استخدام مكون تدفقات مخصص يحمل التدفق الكامل في الذاكرة. كافة المكونات التي تم تضمينها في BizTalk Server، ما عدا التحويلات، يعتمد الدفق. لا تستخدم هذه المكونات قدر الذاكرة أثناء الدفق. ومع ذلك، مكونات التدفقات المخصصة قد لا يدعم الدفق.

دفق تحت الضغط كثيف

إرسال المضيفين نفاد الذاكرة عندما تعمل تحت ضغط كثيف. خادم BizTalk إرسال خطوط الأنابيب وإرسال دفق دعم المحولات. في التدفق، يحمل كل مكون من مكونات جزء صغير من التدفق في الذاكرة. لأن كل رسالة تتضمن هياكل البيانات الأخرى، جنبا إلى جنب مع سياق رسالة التي يمكن أن تكون كبيرة أو صغيرة، يؤثر هذا السلوك على سلوك BizTalk Server تحت الضغط كثيف.

يتأثر سلوك خادم BizTalk لعدد الرسائل التي تم تكوينها مسبقاً بتحميل المحرك. عدد الرسائل التي تقوم بتحميل المحرك استناداً إلى القيم التي تظهر في الحقل لوواتيرمارك وحقل هايواتيرمارك الجدول Adm_serviceClass. جدول Adm_serviceClass في قاعدة بيانات إدارة BizTalk. عدد الرسائل التي تعالج BizTalk Server أو يرسل في نفس الوقت التحكم بهذه القيم.

قيمة هايواتيرمارك هي العدد الإجمالي للرسائل التي تعالج المحرك في نفس الوقت. القيمة الافتراضية 200 رسالة كل وحدة المعالجة المركزية. لذلك، على ملقم المعالج 8 المضيف إرسال سيحاول معالجة الرسائل 1600 (200 * 8) في نفس الوقت. وفي حالة افتراض أن كل رسالة هو 50 كيلو بايت، الرسائل يساوي 80 ميغا بايت (1، 600 * 50 = 80، 000 كب).

لحل هذه المشكلة، يمكنك تغيير قيمة هايواتيرمارك والقيمة لوواتيرمارك في قاعدة البيانات. تعتمد القيم التي تستخدمها على حجم الرسائل.

لمزيد من المعلومات حول الأسباب الشائعة لشرط خارج الذاكرة، راجع قسم "ذاكرة النمو في BizTalk الرسائل" في موقع Microsoft التالي على الويب:BizTalk Server 2006 والإصدارات الأحدث، يمكنك تغيير إعدادات التحكم المضيف الافتراضي. لمزيد من المعلومات حول كيفية تغيير إعدادات التحكم المضيف الافتراضي، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

حاول تبسيط المشكلة

إذا قمت بتحديد تسرب ذاكرة، حاول تحديد السبب عن طريق إزالة مكونات مخصصة أو عن طريق تبسيط مخطط. كذلك، حاول إعادة إنشاء المشكلة باستخدام حل بسيط أو تزامن بسيطة. بشكل عام، يجب عليك إنشاء منفصلة تلقي تلقي المضيفين للمحولات. يجب أيضا إنشاء المضيفين إرسال منفصلة لإرسال المحولات. عند استخدام هذه الطريقة، يمكن تشغيل كل محول في عملية منفصلة. ولذلك، إذا واجه عملية خادم BizTalk شرط خارج الذاكرة، ستعرف المكونات التي يتم تضمين.

خطوات استكشاف الأخطاء وإصلاحها

استكشاف أخطاء شرط خارج الذاكرة، استخدم أداة تشخيص Debug لمراقبة عمليات تخصيص الذاكرة عبر الوقت. يمكنك إنشاء أداة تشخيص Debug وتحليل ملف تفريغ تسرب ذاكرة (.dmp). عند استكشاف أخطاء عمليات تسرب الذاكرة، الهدف إرفاق Leaktrack.dll قبل الشرط الذاكرة العليا الأبسط لالتقاط نمو الذاكرة على مر الزمن. Leaktrack.dll يتم تضمين أداة تشخيص Debug.
  1. تثبيت أداة تشخيص التصحيح.

    يتوفر الملف التالي للتنزيل من "مركز التنزيل ل Microsoft":

    تنزيلقم بتنزيل حزمة "تصحيح أداة تشخيص" الآن.

    لمزيد من المعلومات حول كيفية تنزيل ملفات دعم Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
    119591 كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر الإنترنت
    قامت Microsoft فحص هذا الملف بحثاً عن الفيروسات. واستخدمت شركة Microsoft أحدث برامج الكشف عن الفيروسات التي كانت متوفرة وقت نشر الملف. يتم تخزين الملف على خوادم محسنة الأمان التي تساعد على منع التغييرات غير المصرح بها إلى الملف.
  2. استخدام "مراقبة الأداء" لتجميع البيانات حول سيستيمبيرفورمانسي. قد توفر هذه البيانات مؤشرات هامة حول ofyour كفاءة بيئة خادم BizTalk. الهدف هو وقت بيرفورمانسيوفير عملية الالتقاط. وبالتالي، تمكين تسجيل "مراقبة الأداء" قبل ليكوككورس الذاكرة.

كيفية استخدام تسجيل "مراقبة الأداء"

تحديد البيانات لتسجيل
لتحديد البيانات لتسجيل الدخول، استخدم الأسلوب المناسب لنظام التشغيل الخاص بك:
  • لنظام التشغيل Windows Server 2008 و Windows Server 2008 R2
    1. في "أدوات إدارية"، فتح مراقبة الثبات والأداء.
    2. زر الماوس الأيمن فوق مراقب الأداءوانقر فوق جديد ومن ثم انقر فوق مجموعة جامع البيانات.
    3. في المربع الاسم ، اكتب اسماً وصفياً، ومن ثم انقر فوق التالي.
    4. لاحظ الدليل الجذر، ومن ثم انقر فوق التالي.
    5. انقر فوق ابدأ مجمعي البيانات هذه الآن، ومن ثم انقر فوق إنهاء.
    6. توسيع مجموعات مجمعات البيانات، معرف من قبل المستخدم ، ثم حدد الملف.
    7. انقر نقراً مزدوجاً فوق سجل مراقب النظام، ومن ثم انقر فوق خصائص.
    8. انقر فوق إضافة في علامة التبويب عدادات الأداء تحديد الكائنات التالية ومن ثم انقر فوق إضافة بعد تحديد كل كائن:
      • استثناءات net CLR
      • الذاكرة ل.Net CLR
      • BizTalk: المراسلة
      • BizTalk:TDDS
      • الذاكرة
      • عملية
      • المعالج
      • التوزيعات الموسيقية XLANG/ق
      إذا كان خادم SQL المحلي، أيضا إضافة الكائنات التالية:
      • SQLServer:Databases
      • إحصائيات SQLServer:General
      • إدارة SQLServer:Memory
    9. انقر فوق موافق.
    10. تغيير المربع قيمة "الفاصل الزمني للعينة"مدة 5 ثوان.

      ملاحظة قيمة "الفاصل الزمني للعينة" والوقت لبدء مراقبة ذاتية. تعتمد هذه القيم على عندما يتم تكرار حدوث تسرب للذاكرة. لأنه يمكن أن يكون ملف السجل كبير، حدد الفترة زمنية التي يمكن الحصول على المعلومات التي يجب أن يكون لديك دون إرهاق الخادم.
    11. انقر فوق موافق.
    لإيقاف تجميع البيانات، انقر فوق إيقاف في القائمة إجراء .
  • لنظام التشغيل Windows Server 2003 أو نظام التشغيل Windows XP
    1. قم بتوسيع تنبيهات وسجلات الأداء.
    2. انقر نقراً مزدوجاً فوق سجلات العدادات، ومن ثم انقر فوق إعدادات سجل جديد. يظهر مربع الحوار إعدادات السجل الجديد .
    3. في المربع الاسم ، اكتب اسماً وصفياً، ومن ثم انقر فوق موافق.
    4. لاحظ موقع ملف السجل. (يمكنك أيضا النقر فوق علامة التبويب ملفات السجل ، وثم انقر فوق تكوين لتغيير موقع ملف السجل.)
    5. انقر فوق إضافة عدادات.
    6. حدد كافة العدادات و كافة المثيلات.
    7. في قائمة كائنات الأداء ، حدد الكائنات التالية. انقر فوق " إضافة " بعد تحديد كل كائن.
      • استثناءات net CLR
      • الذاكرة ل.Net CLR
      • BizTalk: المراسلة
      • BizTalk:TDDS
      • الذاكرة
      • عملية
      • المعالج
      • التوزيعات الموسيقية XLANG/ق
      إذا كان خادم SQL المحلي، أيضا إضافة الكائنات التالية:
      • SQLServer:Databases
      • إحصائيات SQLServer:General
      • إدارة SQLServer:Memory
    8. انقر فوق إغلاق.
    9. تغيير القيمة الموجودة في البيانات في أخذ عينات الفاصل الزمني لمدة 5 ثوان.

      ملاحظة أن قيمة "الفاصل الزمني العينة البيانات" والوقت لبدء مراقبة ذاتية. تعتمد هذه القيم على عندما يتم تكرار حدوث تسرب للذاكرة. لأنه يمكن أن يكون ملف السجل كبير، حدد الفترة زمنية التي يمكن الحصول على المعلومات التي يجب أن يكون لديك دون إرهاق الخادم.
    10. انقر فوق موافق.
    لإيقاف تجميع البيانات، انقر نقراً مزدوجاً فوق اسم سجل العداد ومن ثم انقر فوق إيقاف.
الحصول على ملف التفريغ
للحصول على ملف التفريغ، استخدم إحدى الطرق التالية:
  • الطريقة الأولى: تلقائي
    إنشاء قاعدة الذاكرة وتسرب معالجة مع DebugDiag هو الأسلوب المستحسن لالتقاط ملف تفريغ ذاكرة. القاعدة الذاكرة ومعالجة التسرب وتولى Leaktrack.dll تلقائياً. يتم استخدام هذا لتعقب عمليات تخصيص الذاكرة. لإنشاء قاعدة معالجة تسرب والذاكرة، اتبع الخطوات التالية:
    1. بدء تشغيل أداة تشخيص التصحيح 1.1.
    2. حدد الذاكرة ومعالجة التسربومن ثم انقر فوق التالي.
    3. حدد عملية Btsntsvc.exe ، ومن ثم انقر فوق التالي.
    4. في الصفحة "تكوين قاعدة تسرب"، اتبع الخطوات التالية:
      1. انقر لتحديد خانة الاختيار بدء تعقب فورا عند تنشيط القاعدة الذاكرة . وإلا، يمكنك تحديد وقت احماء قبل أن يتم حقن LeakTrack.dll في عملية BTSNTSvc.exe.
      2. انقر فوق تكوين، وقم بما يلي:
        • التأكد من أن الإنشاء التلقائي لقاعدة تعطل محدداً. بتحديد هذا الخيار، تفريغ ذاكرة سيتم إنشاء تلقائياً في حالة توقف عملية BTSNTSvc.exe.
        • انقر لتحديد خانة الاختيار إنشاء userdump عند الوصول إلى وحدات البايت الظاهرية ، والحفاظ على القيمة الافتراضية من 1024.
        • انقر لتحديد خانة الاختيار وكل إضافية والاحتفاظ بالافتراضي 200.
        عن طريق تحديد وحدات البايت الظاهرية إلى الخيار، تفريغ ذاكرة يتم إنشاء تلقائياً عند استخدام البايت الظاهري 1024 ميجابايت. إذا كانت تزداد البايت الظاهري من 200 ميغا بايت، سيتم تلقائياً إنشاء تفريغ الذاكرة آخر.
      3. انقر فوق حفظ آند إغلاق.
      4. انقر فوق التالي.
    5. في الصفحة "تحديد تفريغ موقع واسم القاعدة"، انقر فوق " التالي".

      ملاحظة يمكنك أيضا تغيير مسار ملف التفريغ في المربع الموقع Userdump على هذه الصفحة.
    6. انقر فوق إنهاء لجعل القاعدة نشطة الآن.
    ملاحظة يتم الآن تعقب حالة القاعدة. كل مرة يتم إنشاء ملف تفريغ ذاكرة، زيادة القيمة في العمود العدد Userdump ضمن علامة التبويب قواعد. تفريغ الذاكرة الافتراضي هو C:\Program Files\DebugDiag\Logs.
  • الطريقة الثانية: يدوي
    يمكنك إرفاق Leaktrack.dll يدوياً ويدويًا الحصول على ملف تفريغ الذاكرة. يتيح لك ذلك للتحكم عندما يتم إنشاء تفريغ الذاكرة. للقيام بذلك، اتبع الخطوات التالية:
    1. بدء تشغيل أداة تشخيص التصحيح 1.1.
    2. انقر فوق علامة التبويب العمليات .
    3. زر الماوس الأيمن فوق العملية Btsntsvc.exe ومن ثم انقر فوق جهاز العرض لتسرب.
    4. في مربع الحوار أداة تشخيص التصحيح ، انقر فوق نعم، ومن ثم انقر فوق موافق.
    إنشاء قاعدة تعطل لمراقبة نفس العملية Btsntsvc.exe في حالة إيقاف العملية قبل إنشاء تفريغ الذاكرة:
    1. بدء تشغيل أداة تشخيص التصحيح 1.1.
    2. حدد تعطلومن ثم انقر فوق التالي.
    3. حدد عملية محددة، ومن ثم انقر فوق التالي.
    4. حدد نفس العملية Btsntsvc.exe، ومن ثم انقر فوق التالي.
    5. على صفحة تكوين متقدم (اختياري) ، انقر فوق " التالي".
    6. في مربع الحوار تحديد تفريغ موقع واسم القاعدة (اختياري) ، انقر فوق " التالي".
    7. حدد تنشيط قاعدة الآن، ومن ثم انقر فوق إنهاء.
    عندما تصل العملية إلى 60 في المائة إلى 80 في المائة من ذاكرة الوصول العشوائي، زر الماوس الأيمن فوق العملية Btsntsvc.exe ومن ثم انقر فوق إنشاء Userdump الكامل. إذا توقف عملية BizTalk قبل إنشاء تفريغ المستخدم، يجب أن تسري القاعدة العطل وإنشاء تفريغ الذاكرة.
إيقاف تسجيل "مراقبة الأداء"
إذا كنت تقوم بالتقاط تفريغ الذاكرة، وبيانات "مراقبة الأداء"، إيقاف التسجيل "مراقبة الأداء" حوالي دقيقتين بعد إنشاء تفريغ الذاكرة.
تحليل ملف التفريغ
للمساعدة في تحديد سبب تسرب الذاكرة، يمكنك استخدام أداة تشخيص Debug لتحليل ملف التفريغ. للقيام بذلك، اتبع الخطوات التالية:
  1. انقر فوق علامة التبويب تحليل متقدمة.
  2. انقر فوق إضافة ملفات البياناتومن ثم حدد موقع الملف the.dmp.
  3. حدد البرنامج النصي تحليل ضغط الذاكرةومن ثم انقر فوق بدء تحليل.
بشكل افتراضي، ملف تقرير تحليل (.mht) سيتم إنشاء في المجلد C:\Program Files\DebugDiag\Reports عند الانتهاء من التحليل. سيتم أيضا عرض ملف التقرير في المستعرض الخاص بك. يحتوي ملف التقرير على نتائج التحليل. بالإضافة إلى ذلك، قد يحتوي ملف التقرير على توصيات بشأن كيفية حل تسرب الذاكرة.

إذا كنت تستخدم DLLs مخصصة، يمكنك إضافة مسار الرمز ملفات.pdb المخصصة للتحليل. للقيام بذلك، اتبع الخطوات التالية:
  1. فتح أداة تشخيص Debug.
  2. من القائمة أدوات ، انقر فوق إعدادات Optionsand.
  3. في المربع رمز البحث مسار للتصحيح، اكتب مسار الرمز.
إذا كنت تريد تحليل ملف التفريغ التعليمات، اتصل بخدمات دعم العملاء في Microsoft. للحصول على قائمة كاملة من أرقام الهاتف "خدمات دعم العملاء" ومعلومات حول تكاليف الدعم، الرجاء زيارة موقع Microsoft التالي على الويب: قبل الاتصال "خدمات دعم العملاء"، ضغط ملف التفريغ وسجل "مراقبة الأداء" وملف التقرير تحليل سجلات الأحداث المحدثة (ملفات.evt). قد تضطر لإرسال مهندس دعم هذه الملفات إلى خادم BizTalk.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 918643 - آخر مراجعة: 10/31/2013 06:26:00 - المراجعة: 3.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

  • kbhowto kbmt KB918643 KbMtar
تعليقات