Řešení potíží s nevracení paměti nebo výjimku z důvodu nedostatku paměti v procesu serveru BizTalk Server

Souhrn

Nevracení paměti jsou společný problém. Bude pravděpodobně nutné vyzkoušet několik kroků k nalezení konkrétní příčinu nevracení paměti nebo výjimku z důvodu nedostatku paměti (OOM) v Microsoft BizTalk Server. Tento článek pojednává o důležité věci zvážit při hodnotíte využití paměti a možných problémů souvisejících s pamětí. Tyto úvahy jsou následující:
  • Fyzické paměti RAM
  • Zpracování velkých zpráv
  • Použití přepínače/3 GB
  • Použití vlastních komponent
  • Kterou verzi rozhraní.NET Framework Microsoft spuštění systému
  • Počet procesorů

ÚVOD

Tento článek popisuje řešení potíží s nevracení paměti nebo výjimku z důvodu nedostatku paměti v procesu serveru BizTalk v Microsoft BizTalk Server.

Další informace

Proces serveru BizTalk Server může docházet k nevrácení paměti při využití paměti ve Správci úloh systému Windows společnosti Microsoft spotřebovává více než 50 procent fyzické paměti RAM. Nevracení paměti může způsobit výjimku z důvodu nedostatku paměti, pokud využití paměti zvyšuje, dokud proces je spuštěn nedostatek paměti v systému nebo dokud tento proces přestane pracovat.

Když nastane tento problém, varovná zpráva, která se podobá následující zpráva je zaznamenána v protokolu událostí:

Důležité informace

Využití fyzické paměti RAM a paměti

Vzhledem k tomu, že je očekávané chování procesu použít asi polovina fyzické paměti RAM, využití paměti použít jako vodítko. Například pokud BizTalk Server má 4 gigabajty (GB) paměti RAM a proces serveru BizTalk Server používá asi 500 megabajtů (MB) paměti RAM, pravděpodobně nevracení. Pokud proces serveru BizTalk Server používá asi 1 GB paměti RAM, mohou existovat nevracení paměti nebo vysoké paměti situaci. Spotřeba paměti může být způsobeno dlouhotrvající uložené procedury nebo orchestration. Ujistěte se, že víte, kolik paměti BizTalk hostitele se obvykle používá k určení, zda dochází k nevracení paměti nebo vysoké paměti.

Objemné zprávy

Při BizTalk Server zpracuje objemných zpráv, systém zdá nevracení paměti. Zprávy však může používat velké množství paměti. Další informace o velkých zpráv navštivte následující weby společnosti Microsoft Developer Network (MSDN):Zvažte také, že pokud BizTalk Server zpracovává objemné zprávy lze očekávat využití vysoké paměti. Chcete upgradovat hardware podle požadavků výkonu serveru BizTalk Server ve vašem prostředí.

Jak dlouho trvá zpracování nevracení paměti

Nevracení paměti může dojít okamžitě nebo se mohou hromadit v průběhu času. Oba scénáře jsou společné.

Použití přepínače/3 GB na 32bitové počítače

Proces obvykle přístupné 2 GB virtuálního adresového prostoru. Přepínač/3 GB je možnost pro systémy, které vyžadují více paměti adresovatelných. Tato možnost může zvýšit využití paměti pro zpracování zpráv. Přepínač/3 GB však umožňuje pouze 1 GB adresovatelných paměti pro operace v režimu jádra. Tento přepínač může dále zvýšit riziko vyčerpání fondu paměti.

Další informace o gb/3 GB přepnout, naleznete na následujícím webu Microsoft Developer Network (MSDN):Pokud je povoleno přepínač/3 GB v 32bitové verze systému Windows, můžete proces přístup 3 GB virtuálního adresového prostoru, pokud proces je rozsáhlý adresní vědomi. Proces je rozsáhlý adresní vědomi spustitelného souboru, který má nastavenou v hlavičce obrázek vlajky IMAGE_FILE_LARGE_ADDRESS_AWARE. Vzhledem k tomu, že proces BizTalk je rozsáhlý adresní vědomi, BizTalk bude mít prospěch z přepínač/3 GB.

Pokud do 32bitové BizTalk hostitelské instance běží v 64bitové verzi systému Windows (AMD64), přínosy procesu BizTalk z paměti 4 GB adresovat prostor, protože BizTalk je rozsáhlý adresní vědomi. Přesunutí na server 64-bit aplikací vysoké paměti tedy může být nejlepším řešením.

8 TB adresovatelná paměť má proces BizTalk 64-bit v 64bitové verzi systému Windows (AMD64).

Měli byste také zvážit Virtuální bajty a soukromých bajtů, které proces používá. Hostitelské instance BizTalk, (což je aplikace rozhraní.NET Framework) obdržet nedostatku paměti před hodnotu virtuálních bajtů dosáhne velikosti 2 GB. Tato situace může nastat, i když je adresovatelný proces v 32bitové verzi systému Windows (bez použití přepínače/3 GB ) maximální velikost paměti 2 GB. Vysvětlení proč tato situace může nastat navštivte následující weby společnosti Microsoft Developer Network (MSDN):Přepínač/3 GB se také zvyšuje maximální nesdílených bajtů procesu BizTalk z 800 MB až 1 800 MB. Další informace o výkonu aplikací rozhraní.NET Framework s přepínačem/3 GB povolena naleznete na následujícím webu Microsoft Developer Network (MSDN):

Následující tabulka shrnuje tyto informace a zahrnuje praktické limity pro virtuální a soukromé bajty.
ProcesSystém WindowsAdresovatelná paměť (s rozsáhlý proces podporující adresa)Praktické omezení pro virtuální bajtyPraktické omezení pro soukromé bajty
32-bit32-bit2 GB1 400 MB800 MB
32-bit32-bit s/3 GB/ 3 GB2 400 MB1 800 MB
32-bit64-bit4 GB3400 MB2800 MB
64-bit64-bit8 TBNení k dispoziciNení k dispozici
Další informace o adresovatelná paměť pro 32-bit a 64-bit Windows naleznete na následujícím webu Microsoft Developer Network (MSDN):Následující tabulka uvádí možnosti podpory PAE a / 3GB pro různé verze serveru BizTalk Server.
VýrobekROZŠÍŘENÍ FYZICKÉ ADRESY3GB
BizTalk Server 2004AnoNe
BizTalk Server 2006AnoAno
BizTalk Server 2006 R2AnoAno
BizTalk Server 2009AnoAno
Pokud přepínač/3 GB k požadavkům na výkon počítače, který je spuštěn BizTalk Server, je nutné povolit, můžete zvážit přidání serverů do skupiny BizTalk. Umožňuje rozšiřování náročné na paměť hostitelské instance.

Pokud je povoleno přepínač/3 GB , mohou také využít BizTalk komponenty, které jsou spouštěny v rámci procesu Internetová informační služba (IIS).

Přepínač/3 GB není podporována v počítačích se systémem Windows SharePoint Services 2.0 nebo novější nebo serveru SharePoint Portal Server 2003 SP2 nebo novější verze. Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:

Přepínač/3 GB 933560 pro systém Windows Server 2003 není podporována v systému Windows SharePoint Services 2.0 nebo v novějších verzích SharePoint Portal Server 2003 Service Pack 2 nebo novější

Použití vlastních komponent

Pokud používáte vlastní součásti, například potrubí nebo součásti služby musíte vědět, co dělat tyto součásti. Musíte také znát tyto součásti potenciální vliv na využití paměti. Když je komponenta transformace dokumentu dojde k běžné potíže s pamětí. Transformace je operace náročné na paměť. Při transformaci dokumentu BizTalk Server předá proudu zpráv Microsoft rozhraní.NET Framework XslTransform třídy v rámci procesu BizTalk.

Jiné běžné problém nastává při manipulaci s intenzivní řetězec. Manipulace s intenzivní řetězec může spotřebovat velké množství paměti. Další informace o způsobech zvýšení výkonu naleznete na následujícím webu Microsoft Developer Network (MSDN):

Verze rozhraní.NET Framework

Microsoft rozhraní.NET Framework 2.0 a 1.1 rozhraní.NET Framework mají různé paměti chování. Proto se může zobrazit různé výsledky mezi nimi. Pokud používáte rozhraní.NET Framework, ověřte, zda je nainstalována nejnovější Service Pack 1 rozhraní.NET Framework. Tyto aktualizace service Pack řeší několik známých paměti problémy. Další informace získáte v následujícím článku:

945757 problémy, které jsou opraveny v rozhraní.NET Framework 2.0 Service Pack 1
867460 Seznam opravených v rozhraní.NET Framework 1.1 Service Pack 1

Počet procesorů

Společný jazykový modul runtime (CLR) má následující sběrače odpadků (GCs):
  • Pracovní stanice (Mscorwks.dll)
  • Server (Mscorsvr.dll)
Je-li počítač, který je spuštěn BizTalk Server víceprocesorového systému, použije rozhraní.NET Framework verze serveru spuštění motoru. Toto je výchozí chování. Uvolňování Server je navržen pro maximální propustnost. Uvolňování Server rozšiřuje navíc poskytuje velmi vysoký výkon. Toto uvolňování paměti přidělí paměť a poté uvolní paměť poskytnout vysoký výkon v systému. Proto počítač, který je spuštěn BizTalk Server a některé součásti rozhraní.NET Framework zdá nevracení paměti. V tomto scénáři je využití vysoké paměti očekávané chování. Pokud je v počítači spuštěn nedostatek paměti v systému nebo procesu z důvodu nedostatku paměti adresovatelných přestane fungovat, může existovat podmínka nevracení paměti.

Pokud počítač, který je spuštěn BizTalk Server je jeden procesor systému, použije rozhraní.NET Framework verze Workstation spuštění motoru. Toto je výchozí chování. Přidělení algoritmus systému uvolňování paměti pracovní stanice není určen pro změnu velikosti a maximální propustnost. Toto uvolňování používá metody souběžné uvolňování paměti. Tyto metody jsou určeny pro aplikace, které mají složité uživatelské rozhraní. Tyto aplikace mohou vyžadovat uvolňování agresivnější.

Důležité: Tento oddíl, metoda nebo úkol obsahuje kroky, které popisují úpravu registru. Při nesprávné úpravě registru mohou nastat závažné problémy Proto se ujistěte, že budete opatrně postupovat podle těchto kroků Pro zvýšení ochrany před úpravou zálohujte registr. Pokud dojde k potížím, pak můžete registr obnovit ze zálohy. Pro další informace o zálohování a obnovení registru klepněte na následující číslo článku databáze Microsoft Knowledge Base:
322756 postup zálohování a obnovení registru v systému Windows
V některých případech může být vhodné spustit verze Workstation spuštění motoru ve víceprocesorovém systému. Můžete použít následující klíč registru pro přepnutí do verze Workstation spuštění motoru.

BizTalk 2006 a novější verze

Vytvořte následující klíč registru CRL hostování řetězec s odpovídajícími hodnotami:

Hostování HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$BizTalkHostName\CLR

Název: příchuť
Data: wks

BizTalk 2004

Vytvořte následující klíč registru CRL hostování řetězec s odpovídajícími hodnotami:

Host \CLR HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\BTSSvc {GUID}

Název: příchuť
Data: wks

Další informace navštivte následující weby společnosti Microsoft Developer Network (MSDN):

Běžné příčiny a řešení

Využití paměti procesu a využití fyzické paměti omezení prahové hodnoty

Využití paměti procesu a využití fyzické paměti prahové hodnoty omezení lze změnit v BizTalk Server 2006 a novější verze.
  • Ve výchozím nastavení je omezení prahové hodnoty využití paměti procesu nastavena na 25. Omezující podmínka může dojít, pokud je tato hodnota překročena, využití paměti procesu BizTalk je více než 300 MB. Na 32bitové verze serveru můžete zvýšit hodnotu využití paměti procesu na 50. Na 64bitový server můžete zvýšit tuto hodnotu na hodnotu 100. To umožňuje další spotřeby paměti procesu BizTalk před omezení.
  • Využití fyzické paměti: prahovou hodnotu omezení má výchozí hodnotu 0. Tento práh opatření celkové systémové paměti. Proto pokud je nakonfigurován na hodnotu než 0, omezující podmínka může dojít, pokud proces než BizTalk používá vysoké paměti.
Další informace o omezení prahové hodnoty naleznete na následujícím webu Microsoft Developer Network (MSDN):

Omezení prahy dehydratace

Výchozí limity paměti dehydratace může způsobit příliš mnoho dehydratace při spuštění na 64bitovém hostitelském orchestrations. Další informace o tomto problému naleznete v tématu Výchozí vlastnosti dehydrataci na následujícím webu Microsoft Developer Network (MSDN):Poznámka: 64-bit hosts jsou podporovány v BizTalk Server 2006 a novější verze.

Na odpovídající hardwaru v instanci 32bitový hostitelský pozorovaných dehydratace je nominální při spuštění stejné orchestrations pomocí dehydrataci paměti výchozí omezení prahové hodnoty.

Vzhledem k tomu, že 64bitová architektura poskytuje expandované paměti adresového prostoru (místo 4 GB 16 TB), jsou přiděleny 64bitové hostitelské instance podstatně více paměti než 32bitové hostitelské instance. To může způsobit paměti výchozí omezení prahy překročení.

Chcete-li toto chování obejít, změňte hodnoty VirtualMemoryThrottlingCriteria a PrivateMemoryThrottlingCriteria v souboru BTSNTSvc64.exe.config. Použijte k určení největší množství paměti přidělené instance orchestration Process\Virtual bajtů a čítače sledování výkonu Process\Private bajty.
  • Nastavte hodnotu OptimalUsage pro obě vlastnosti podle následujících kroků:
    VirtualMemoryThrottlingCriteria: \Process\Virtual bajtů hodnoty + 10 %
    PrivateMemoryThrottlingCriteria: hodnota bajtů \Process\Private + 10 %
  • Nastavit obě vlastnosti na hodnotu OptimalUsage + 30 % MaximalUsage
Například je-li hodnota čítače sledování výkonu bajtů orchestration instance \Process\Virtual 5,784,787,695 bajtů (5,517 MB), nastavte hodnotu OptimalUsage pro VirtualMemoryThrottlingCriteria 6,069 MB (5,784,787,695 * 1,10 = 6,363,266,464.5 bajtů). Nastavte hodnotu MaximalUsage pro VirtualMemoryThrottlingCriteria 7,889 MB (6,363,266,464.5 * 1,30 = 8,272,246,403.85 bajtů).

Je-li hodnota čítače sledování výkonu bajtů \Process\Private 435689400 bajtů (415 MB), nastavte hodnotu OptimalUsage pro PrivateMemoryThrottlingCriteria 457 MB (435689400 * 1,10 = 479258340 bajtů). Nastavte hodnotu MaximalUsage pro PrivateMemoryThrottlingCriteria 594 MB (479258340 * 1,30 = 623035842).

V tomto příkladu by následující hodnoty zadat v souboru BTSNTSvc64.exe.config ke snížení omezení.
Čítače sledování výkonuPřidělená paměťOptimalUsageMaximalUsage
\Process\Virtual bajtů5784787695 bajtů (5517 MB)60697889
Bajtů \Process\Private435689400 bajtů (415 MB)457594
Tyto hodnoty pak jsou zastoupeny v souboru BTSNTSvc64.exe.config takto:
<xlangs>      <Configuration>
<Dehydration>
<VirtualMemoryThrottlingCriteria OptimalUsage="6069" MaximalUsage="7889" IsActive="true" />
<PrivateMemoryThrottlingCriteria OptimalUsage="457" MaximalUsage="594" IsActive="true" />
</Dehydration>
</Configuration>
</xlangs>
Chcete-li zjistit, která instance hostitele se systémem orchestration, můžete přiřadit ID procesu z \BizTalk:Messaging\ID procesu a \Process\ID čítače sledování výkonu procesu. Zkontrolujte průměrné hodnoty zobrazeny pro odpovídající \Process\Virtual bajtů a čítače sledování výkonu bajtů \Process\Private.

Poznámka: Vysoké dehydratace může způsobit výrazné snížení výkonu při BizTalkMsgBoxDb databáze je spuštěn SQL Server 2008.

BizTalk Server Service Pack a kumulativní aktualizace

BizTalk Server service Pack a kumulativní aktualizace obsahuje nejnovější opravy. Mezi ně patří ty, které mají vliv na známé problémy System.OutOfMemoryException.

2281783 Service Pack a kumulativní aktualizace seznamu pro BizTalk Server 2006 R2

Microsoft BizTalk Server 2004 Service Pack 2

HeapDeCommitFreeBlockThreshold

Výchozí hodnota klíče registru theHeapDeCommitFreeBlockThreshold je 0. Hodnota 0 znamená, že správce hald decommits každé stránky 4 kilobajt (KB), které jsou k dispozici. Zruší operace může způsobit fragmentace virtuální paměti. Velikost nastavení HeapDeCommitFreeBlockThreshold v správce hald bude záviset na druhu práce, kterou dělá systém. Velikost 0x00040000 je doporučená počáteční hodnota.

Než změníte hodnotu klíče registru HeapDeCommitFreeBlockThreshold , zvažte následující informace:
  • Tato změna se týká pouze problémy fragmentace paměti.
  • Tato změna je celý systém. Proto většina procesů bude používat více paměti při spuštění.
  • V úvahu pouze tuto změnu pro systémy, které mají BizTalk serveru jako jejich primární mise.
Ke snížení fragmentace virtuální paměti, můžete zvětšit velikost nastavení HeapDeCommitFreeBlockThreshold v správce hald změnou hodnoty následující klíč registru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

Název hodnoty: HeapDeCommitFreeBlockThreshold
Typ hodnoty: REG_DWORD
Údaj hodnoty: 0x00040000 (Toto je doporučená počáteční hodnota).
Výchozí hodnota: není nakonfigurováno
Další informace o klíči registru HeapDeCommitFreeBlockThreshold získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

315407 "HeapDecommitFreeBlockThreshold" klíč registru

Byly operace transformace

Při BizTalk Server provádí operace transformace XML v poměrně velkých zpráv v přístavu přijmout, odeslat port, nebo v XLANG, šablona stylů XSL převádí načtení celé zprávy v paměti.

Chcete-li tento problém vyřešit, použijte jednu z následujících metod:
  • Snížíte počet zpráv BizTalk Server zpracovává najednou.
  • Zmenšete velikost zprávy XML, která transformaci.
Objekt System.Policy.Security.Evidence se často používá v transformačních souborů a mohou spotřebovat velké množství paměti. Při mapování obsahuje skriptování functoid, který používá vložené jazyka C# (nebo jakéhokoli jiného jazyka vložené), sestavení je vytvořena v paměti. System.Policy.Security.Evidence objekt používá objekt skutečné volající sestavení. Tato situace vytváří Naroubované objekt, který není odstraněn, dokud restartování služby BizTalk.

Většina functoids BizTalk výchozí jsou implementovány jako vložený skript. Tyto položky mohou způsobit objekty [] System.Byte ukládána do paměti. Chcete-li minimalizovat spotřebu paměti, doporučujeme vkládat jakékoliv mapě, která používá tyto functoids do malé sestavení. Poté odkazovat na sestavení. Následující graf použít k určení, které functoids použití vloženého skriptu a které functoids nepoužívejte vložené skripty.

Ve druhém sloupci "Ano" znamená, že tento functoid je implementován jako vložený skript a že způsobí objekty [] System.Byte ukládána do paměti. "No" znamená, že tento functoid není implementována jako vložený skript a že nezpůsobí objekty [] System.Byte ukládána do paměti.
FunctoidsVložené skripty?
Všechny řetězce FunctoidsAno
Všechny matematické FunctoidsAno
Všechny logické Functoids kromě IsNilAno
Logické IsNil FunctoidNe
Všechny Functoids datum a časAno
Všechny Functoids převoduAno
Všechny vědecké FunctoidsAno
Všechny kumulativní FunctoidsAno
Všechny databáze FunctoidsNe
Rozšířené FunctoidsVložené skripty?
Opakování FunctoidNe
Sloučení průhledností Functoid mapování hodnotNe
Vyhodnocení FunctoidNe
Tabulky Functoid ExtraktorNe
Tabulka opakování FunctoidNe
Skriptování Functoid pomocí vložené jazyka C#Ano
S JScript.NET vložené skriptování FunctoidAno
Skriptování Functoid pomocí vložené jazyka Visual Basic .NETAno
Skriptování Functoid pomocí vložený XSLTNe
Skriptování Functoid pomocí šablony XSLT vložené voláníNe
Skriptování Functoid volání externí sestaveníNe
Nulová hodnota FunctoidNe
Functoid mapování hodnotNe
Kopie hromadného FunctoidNe
Opakování FunctoidNe
Index FunctoidNe
Počet záznamů FunctoidNe
BizTalk Server 2006 a novější verze výrazně zlepšit správu paměti pro velké dokumenty. Chcete-li to provést, BizTalk Server implementuje konfigurovatelné zprávy prahovou hodnotu velikosti pro načítání dokumentů do paměti během operací transformace. Limit pro velikost zpráv výchozí je 1 MB. Další informace o nastavení TransformThreshold naleznete na následujícím webu Microsoft Developer Network (MSDN):

Hodnoty atributů velké a velké element hodnoty

Při BizTalk Server zpracuje potrubí přijímání nebo odesílání potrubí na dokumentu XML, datová část je zpracována v paměti Pokud dokument obsahuje jeden nebo více následujících entit:
  • Hodnoty atributů velké
  • Velký element hodnoty.
  • Velké značky atributu nebo elementu
Chcete-li tento problém vyřešit, omezte velikost těchto subjektů. Pokud není možné tuto metodu, ujistěte se, že váš BizTalk hostitelské instance nezpracovává více dokumentů, jako jsou tyto současně.

Komponenty příležitostí

Použití komponenty příležitostí, který se načte do paměti celý datový proud. Všechny součásti, které jsou součástí BizTalk Server, s výjimkou transformace, podporu vysílání datových proudů. Tyto součásti nepoužívejte tolik paměti při vysílání datových proudů. Komponenty příležitostí však nemusí podporovat vysílání datových proudů.

Streaming velkém zatížení

Odeslání hostitele nedostatek paměti při velkém zatížení působí. BizTalk Server potrubí a odesílají adaptéry podporu vysílání datových proudů. V datových proudů, načte každou součást malou část datového proudu do paměti. Vzhledem k tomu, že každá zpráva obsahuje jiné datové struktury a kontextu zprávy, který může být velký nebo malý, toto chování ovlivňuje chování BizTalk Server pod napětím těžkých.

Chování serveru BizTalk Server je ovlivněn, protože modul načte předem počet zpráv. Počet zpráv, které načte modul vychází z hodnot zobrazených v poli LowWaterMark a HighWaterMark pole tabulky Adm_serviceClass. V tabulce Adm_serviceClass je Správa databáze BizTalk. Tyto hodnoty určují počet zpráv BizTalk Server zpracuje a odešle současně.

Hodnota HighWaterMark je celkový počet zpráv, které zpracovává modul současně. Výchozí hodnota je 200 zpráv na jeden procesor. Proto na serveru procesoru 8 odeslat hostitel pokusí zpracovat zprávy 1,600 (200 * 8) současně. Pokud se předpokládá, že každá zpráva je 50 KB, zprávy se rovná 80 MB (1, 600 * 50 = 80 000KB).

Chcete-li tento problém vyřešit, můžete změnit hodnoty HighWaterMark a LowWaterMark v databázi. Hodnoty, které můžete použít, závisí na velikosti zpráv.

Další informace o běžných příčin podmínku out paměti naleznete v části "Paměti růst v BizTalk Messaging" na následujícím webu společnosti Microsoft:Pro BizTalk Server 2006 a novější verze můžete změnit výchozí hostitel nastavení omezení. Další informace o tom, jak změnit výchozí hostitel nastavení omezení naleznete na následujícím webu Microsoft Developer Network (MSDN):

Zkuste zjednodušit problém

Pokud zjistíte nevracení paměti, zkuste určit příčinu odebráním volitelných součástí nebo zjednodušením mapu. Také pokuste se problém reprodukovat pomocí jednoduchého orchestration nebo jednoduché řešení. Obvykle, byste měli vytvořit samostatný příjem hostitele přijímat adaptéry. Měli byste také vytvořit samostatné odeslání hostitele pro odesílání adaptéry. Při použití této metody každý adaptér lze spustit v samostatném procesu. Proto když v procesu serveru BizTalk Server dojde podmínku out paměti, budete vědět, součásti, které jsou zapojeny.

Kroky pro řešení potíží

K řešení podmínku out paměti, použijte nástroj Diagnostika ladění sledovat přidělení paměti v průběhu času. Diagnostika ladění můžete vytvářet a analyzovat soubor s výpisem nevracení paměti (dmp). Při odstraňování potíží s nevracením paměti, cílem je připojit Leaktrack.dll před reprodukuje vysoké paměti podmínku pro zachycení růst paměti v průběhu času. Leaktrack.dll je součástí nástroj Diagnostika ladění.
  1. Nainstalujte nástroj Diagnostika ladění.

    Následující soubor je k dispozici pro stažení z Microsoft Download Center:

    Download Stáhněte balíček nástroje Diagnostika ladění.

    Pro více informací o tom, jak stahovat soubory podpory společnosti Microsoft, klepněte na následující číslo článku v databázi Microsoft Knowledge Base:
    119591 jak získat soubory podpory společnosti Microsoft ze serverů služeb online
    Microsoft zkontroloval tento soubor na přítomnost virů. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici k datu, kdy byl soubor vydán. Soubor je uložen na zabezpečených serverech, které pomáhají zabránit neoprávněným změnám v souboru.
  2. Shromažďování dat o výkonu pomocí nástroje Sledování výkonu. Tyto údaje může poskytnout důležité indikátory účinnosti prostředí serveru BizTalk. Cílem je zachytit proces výkonu v čase. Proto povolte protokolování sledování výkonu dochází k nevracení paměti.

Použití protokolování sledování výkonu

Vyberte data, která chcete protokolovat
Vybrat data pro přihlášení, použijte metodu vhodnou pro váš operační systém:
  • Pro systém Windows Server 2008 a Windows Server 2008 R2
    1. V nástroje pro správu otevřete Sledování spolehlivosti a výkonu.
    2. Nástroje sledování výkonupravým tlačítkem myši, klepněte na příkaz Nový a potom klepněte na tlačítko Sada kolekcí dat.
    3. Do pole název zadejte popisný název a potom klepněte na tlačítko Další.
    4. Poznámka: kořenový adresář a potom klepněte na tlačítko Další.
    5. Klepněte na tlačítko Spustit tuto sadu kolekcí data klepněte na tlačítko Dokončit.
    6. Rozbalte položku Sady kolekcí dat, dále rozbalte položku Vlastní a poté vyberte soubor.
    7. Klepněte pravým tlačítkem myši Protokol sledování systémua potom klepněte na příkaz Vlastnosti.
    8. Klepněte na tlačítko Přidat na kartu Čítače výkonu následující objekty a potom klepněte na tlačítko Přidat po výběru všech objektů:
      • Výjimky .net CLR
      • Paměť .net CLR
      • BizTalk:Messaging
      • BizTalk:TDDS
      • Paměti
      • Proces
      • Procesor
      • Orchestrations XLANG/s
      Pokud je místní SQL Server, přidejte také následující objekty:
      • SQLServer:Databases
      • Statistiky SQLServer:General
      • Správce SQLServer:Memory
    9. Klepněte na tlačítko OK
    10. Změňte pole hodnota intervalu vzorkování na 5 sekund.

      Poznámka: Hodnota intervalu vzorkování a čas spuštění sledování jsou subjektivní. Tyto hodnoty závisí na po nevracení paměti je uveden. Vzhledem k tomu, že soubor protokolu mohou být velké, zadejte interval, ve kterém můžete získat informace, které musí mít strhávat serveru.
    11. Klepněte na tlačítko OK
    Ukončit sběr dat, klepněte na příkaz v nabídce Akce .
  • Pro systém Windows Server 2003 nebo Windows XP
    1. Rozbalte Výstrahy a protokolování výkonu.
    2. Protokoly čítačůklepněte pravým tlačítkem myši a potom klepněte na tlačítko Nové nastavení protokolu. Zobrazí se dialogové okno Nové nastavení protokolu .
    3. Do pole název zadejte popisný název a potom klepněte na tlačítko OK.
    4. Poznamenejte si umístění souboru protokolu. (Můžete také klepnout
      Soubory protokolu kartu a potom klepněte na tlačítko Konfigurovat , chcete-li změnit umístění souboru protokolu.)
    5. Klepněte na tlačítko Přidat čítače.
    6. Vyberte všechny čítače a všechny instance.
    7. V seznamu objekt sledování výkonu vyberte následující objekty. Klepněte na tlačítko Přidat po výběru všech objektů.

      • Výjimky .net CLR
      • Paměť .net CLR
      • BizTalk:Messaging
      • BizTalk:TDDS
      • Paměti
      • Proces
      • Procesor
      • Orchestrations XLANG/s
      Pokud je místní SQL Server, přidejte také následující objekty:

      • SQLServer:Databases
      • Statistiky SQLServer:General
      • Správce SQLServer:Memory
    8. Klepněte na tlačítko Zavřít.
    9. Změňte hodnotu v Interval vzorkování dat na 5 sekund.

      Poznámka: Hodnota intervalu vzorkování dat a čas spuštění sledování jsou subjektivní. Tyto hodnoty závisí na po nevracení paměti je uveden. Vzhledem k tomu, že soubor protokolu mohou být velké, zadejte interval, ve kterém můžete získat informace, které musí mít strhávat serveru.
    10. Klepněte na tlačítko OK
    Chcete-li ukončit sběr dat, klepněte pravým tlačítkem myši na název protokolu čítače a klepněte na tlačítko Zastavit.
Získání souboru s výpisem stavu paměti
Chcete-li získat soubor s výpisem stavu paměti, použijte jednu z následujících metod:
  • Metoda 1: Automatické
    Vytváříte pravidlo, paměti a nevrácení popisovače s DebugDiag je doporučený postup k výpisu stavu paměti. Paměti a nevrácení popisovače pravidlo automaticky připojí Leaktrack.dll. Používá se ke sledování přidělení paměti. Chcete-li vytvořit pravidlo paměti a nevrácení popisovače, postupujte takto:
    1. Spusťte nástroj Diagnostika ladění 1.1.
    2. Vyberte paměti a nevrácení popisovačea klepněte na tlačítko Další.
    3. Vyberte Btsntsvc.exe proces a potom klepněte na tlačítko Další.
    4. Na stránce konfigurovat pravidlo nevracení postupujte takto:
      1. Klepnutím zaškrtněte políčko Spustit ihned po aktivaci pravidla sledování paměti . Jinak můžete zadat dobu zahřívání před LeakTrack.dll se vstřikuje do BTSNTSvc.exe proces.
      2. Klepněte na tlačítko Konfigurovata proveďte následující kroky:
        • Potvrdit, že automaticky vytvořit pravidlo selhání zaškrtnuto. Výběrem této možnosti výpisu stavu paměti bude vytvořena automaticky pokud BTSNTSvc.exe proces se zastaví.
        • Klepnutím zaškrtněte políčko Generovat userdump když dosáhnou virtuálních bajtů a ponechat výchozí hodnotu 1024.
        • Klepnutím zaškrtněte políčko a každý další a zachovat výchozí 200.
        Virtuální bajty výběrem dosáhnout možnost, výpis stavu paměti bude automaticky vytvořen, pokud používá virtuální bajty 1024 MB. Virtuální bajty zvýší o 200 MB, bude automaticky vytvořen jiný výpis stavu paměti.
      3. Klepněte na tlačítko Uložit a zavřít.
      4. Klepněte na tlačítko Další.
    5. Na stránce vybrat výpis umístění a název pravidla klepněte na tlačítko Další.

      Poznámka: Můžete také změnit cestu k souboru s výpisem stavu paměti v poli Userdump umístění na této stránce.
    6. Klepnutím na tlačítko Dokončit nyní aktivovat pravidlo.
    Poznámka: Nyní sleduje stav pravidla. Pokaždé, když je vytvořen výpis paměti, hodnota se zvýší počet Userdump sloupce na kartě pravidla. Výpis stavu paměti výchozí umístění je C:\Program Files\DebugDiag\Logs.
  • Metoda 2: ruční
    Můžete také ručně připojit Leaktrack.dll a získat soubor s výpisem stavu paměti ručně. To vám umožní ovládacímu prvku při vytvoření výpisu stavu paměti. Chcete-li to provést, postupujte takto:
    1. Spusťte nástroj Diagnostika ladění 1.1.
    2. Klepněte na kartu procesy .
    3. Klepněte pravým tlačítkem myši Btsntsvc.exe proces a potom klepněte na tlačítko
      Monitor na těsnost.
    4. V dialogovém okně Diagnostika ladění klepněte na tlačítko Anoa potom klepněte na tlačítko OK.
    Vytvořte pravidlo selhání sledovat stejný Btsntsvc.exe proces v případě, že proces se zastaví před vytvořením výpis stavu paměti:
    1. Spusťte nástroj Diagnostika ladění 1.1.
    2. Vyberte chybua potom klepněte na tlačítko Další.
    3. Vyberte konkrétní procesa potom klepněte na tlačítko Další.
    4. Vyberte stejný Btsntsvc.exe proces a potom klepněte na tlačítko Další.
    5. Na stránce Rozšířené konfigurace (volitelné) klepněte na tlačítko Další.
    6. V dialogovém okně Vyberte výpis umístění a název pravidla (volitelné) klepněte na tlačítko Další.
    7. Vyberte možnost Aktivovat nyní pravidloa klepněte na tlačítko Dokončit.
    Při procesu dosáhne 60 až 80 procent paměti RAM, klepněte pravým tlačítkem myši Btsntsvc.exe proces a potom klepněte na tlačítko Vytvoření úplné Userdump. Pokud proces BizTalk zastaví před vytvořením uživatele s výpisem, by mělo pravidlo selhání projeví a vytvoření výpisu stavu paměti.
Zastavit protokolování sledování výkonu
Pokud digitalizujete výpis stavu paměti a data sledování výkonu, zastavte protokolování sledování výkonu asi 2 minuty po vytvoření výpisu stavu paměti.
Analyzovat soubor s výpisem stavu paměti
Pomoci určit příčinu nevracení paměti, můžete použít nástroj Diagnostika ladění analyzovat soubor s výpisem stavu paměti. Chcete-li to provést, postupujte takto:
  1. Klepněte na kartu Rozšířené analýzy.
  2. Klepněte na tlačítko Přidat datové souborya potom vyhledejte soubor dmp.
  3. Vyberte skript Analýzy tlak pamětia potom klepněte na tlačítko Spustit analýzu.
Ve výchozím souboru sestavy analýzy (MHT) se vytvoří ve složce C:\Program Files\DebugDiag\Reports po dokončení analýzy. Soubor sestavy se zobrazí také v prohlížeči. Soubor sestavy obsahuje výsledky analýzy. Navíc soubor sestavy mohou obsahovat doporučení, jak vyřešit nevracení paměti.

Pokud použijete vlastní knihovny DLL, můžete přidat cesty symbol vlastní PDB soubory pro analýzu. Chcete-li to provést, postupujte takto:
  1. Otevřete nástroj Diagnostika ladění.
  2. V nabídce Nástroje klepněte na tlačítko Možnosti a nastavení.
  3. V poli Symbol hledání cesty pro laděnízadejte cestu symbolů.
Pokud chcete analyzovat soubor výpisu nápovědy, obraťte se na technickou podporu společnosti Microsoft. Úplný seznam telefonních čísel služeb technické podpory a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:Dříve než budete kontaktovat technickou podporu společnosti, komprimujte soubor s výpisem stavu paměti, sledování výkonu protokolu, soubor sestavy analýzy a aktualizované protokoly událostí (EVT, soubory). Bude pravděpodobně nutné odeslat že soubory na serveru BizTalk Server pracovník odborné pomoci.
Vlastnosti

ID článku: 918643 - Poslední kontrola: 16. 1. 2017 - Revize: 1

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 Branch, Microsoft BizTalk Server 2006 R2 Branch, 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

Váš názor