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

Překlady článku Překlady článku
ID článku: 918643 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Nevracení paměti je 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 out paměti (paměti) 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ěť RAM
  • Zpracování velkých zpráv
  • Použití / 3GB přepínač
  • 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 dochází k nevracení 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 procento fyzické paměti RAM. Nevracení paměti může způsobit výjimku z důvodu nedostatku paměti Když stoupá využití paměti, dokud proces nedostatku systémové paměti nebo dokud proces přestane pracovat.

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

Událost Typ: upozornění
Kategorie události: (1)
ID události: 5410
Popis: Došlo k chybě, vyžaduje služba BizTalk ukončit. Nejčastější příčinou jsou neočekávanou chybu paměti a neschopnost připojit nebo ztrátu připojení k jednomu z databáze BizTalk. Služba bude vypnutí a automatické restartování v 1 minuta. Pokud zůstává problematické databáze není k dispozici, bude tento cyklus opakovat.
Chybová zpráva: výjimka typu System.OutOfMemoryException byla vyvolána.
Chyba zdroj:
BizTalk hostitele Název: BizTalkServerApplication
Název služby systému Windows: BTSSvc {DCC899FE-C62F-41BE-851A-8720B2EB9C14}

Typ události: upozornění
Kategorie události: (1)
ID události: 5410
Popis: Došlo k chybě, vyžaduje služba BizTalk ukončit. Nejčastější příčinou jsou následující: 1) Neočekávaná chyba nedostatku paměti. NEBO 2) neschopnost připojení nebo ztráta připojení k jednomu z databáze BizTalk. Služba bude vypnutí a automatické restartování v 1 minuta. Pokud zůstává problematické databáze není k dispozici, bude tento cyklus opakovat.
Chybová zpráva: typu 'System.OutOfMemoryException' byla vyvolána výjimka.
Chyba zdroj: mscorlib
BizTalk název hostitele: BizTalkServerApplication
Název služby Windows: BTSSvc$ BizTalkServerApplication

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žívat asi půl 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, nemohou existovat nevracení paměti. Pokud proces serveru BizTalk Server používá asi 1 GB paměti RAM, může 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 hostitele BizTalk 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):
http://blogs.msdn.com/biztalk_core_engine/archive/2005/02/28/381700.aspx

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

Zvažte také, že pokud lze očekávat využití vysoké paměti BizTalk Server zpracovává objemné zprávy. Chcete inovovat hardware a požadavkům 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 mohou časem nashromáždit přes čas. 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é paměti pro operace v režimu jádra. Kromě toho tento přepínač může 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):
http://msdn.microsoft.com/en-us/library/ms791558.aspx
Pokud je povoleno přepínač/3 GB v 32bitové verze systému Windows, můžete proces přístup 3 GB virtuálního adresního Pokud je proces rozsáhlý adresní prostor uvědomit. 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ědom, BizTalk bude mít prospěch z přepínače/3 GB.

Pokud do 32bitové BizTalk hostitelské instance běží na 64bitovou 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á. Instance BizTalk hostitele, (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):
http://msdn.microsoft.com/en-us/library/ms972959.aspx
http://blogs.msdn.com/TESS/archive/2005/11/25/496898.aspx
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):
http://msdn2.microsoft.com/en-us/library/ms998583.aspx
Následující tabulka shrnuje tyto informace a obsahuje praktické limity pro virtuální a soukromé bajty.
Zmenšit tuto tabulkuRozšířit tuto tabulku
ProcesSystém WindowsAdresovatelná paměť (s rozsáhlý proces podporující adresa)Praktické omezení pro virtuální bajtyPraktické omezení pro soukromé bajty
32bitová32bitová2 GB1400 MB800 MB
32bitová32-bit s/3 GB3 GB2 400 MB1 800 MB
32bitová64-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):
http://msdn.microsoft.com/en-us/library/aa366778.aspx
V následující tabulce jsou uvedeny možnosti podpory PAE a 3GB pro různé verze serveru BizTalk Server.
Zmenšit tuto tabulkuRozšířit tuto tabulku
ProduktPAE3GB
BizTalk Server 2004AnoNe
BizTalk Server 2006AnoAno
BizTalk Server 2006 R2AnoAno
BizTalk Server 2009AnoAno
Pokud je nutné povolit přepínač/3 GB k požadavkům na výkon počítače, který je serverem BizTalk Server, měli byste zvážit přidání serverů do skupiny BizTalk. To umožňuje rozšiřování náročné na paměť hostitelské instance.

Součásti BizTalk které jsou spouštěny v rámci procesu Internetová informační služba (IIS) může také prospěch, pokud je povoleno přepínač/3 GB .

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ší. Další informace získáte kliknutím na číslo článku znalostní báze Microsoft Knowledge Base:
933560Přepínač/3 GB v systému Windows Server 2003 není podporována v systému Windows SharePoint Services 2.0 nebo novější SharePoint Portal Server 2003 Service Pack 2 nebo novější

Použití vlastních komponent

Pokud použijete 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 možného vlivu na využití paměti. A běžné paměti problém nastane, když je komponenta transformace dokumentu. Na transformace je operace náročné na paměť. Pokud je dokument transformované, BizTalk Server předá proudu zpráv Microsoft .NET Třídy XslTransform v rámci procesu BizTalk Framework.

Dalším problémem běžných Vyvolá se při manipulaci s intenzivní řetězec. Intenzivní řetězec manipulace mohou 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):
http://msdn2.microsoft.com/en-us/library/ms998547

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. Používáte-li rozhraní.NET Framework, potvrďte, že nejnovější Service Pack 1 rozhraní.NET Framework je nainstalována. Tyto aktualizace service Pack řeší problémy s několika známých paměti. Další informace získáte v následujícím článku:

945757 Problémy opravené aktualizací rozhraní.NET Framework 2.0 Service Pack 1
867460 Seznam opravených v rozhraní.NET Framework 1.1 Service Pack 1

Počet procesorů

Common language runtime (CLR) má následující smetí nákupčí (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žívá 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ěluje paměť a později uvolnění paměti poskytují vysoký výkon 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 paměť.

Pokud počítač který je spuštěn BizTalk Server je jeden procesor systému, rozhraní.NET Framework používá verze Workstation spuštění motoru. Toto je výchozí chování. Algoritmus přidělování uvolňování pracovní stanice není určen pro změnu velikosti a maximální propustnost. Používá toto uvolňování souběžné uvolňování metody. 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 však mohou nastat závažné problémy. Proto postupujte přesně podle následujících kroků. Pro zvýšení ochrany proveďte před úpravami zálohu registru. Pokud pak dojde k potížím, budete moci registr obnovit. Další informace o zálohování a obnovení registru získáte v článku znalostní bá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 do víceprocesorového systému. Následující klíč registru můžete použít 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: charakter
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: charakter
Data: wks

Další informace naleznete na následujících webech Microsoft Developer Network (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

Obvyklé příčiny a řešení

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

Využití paměti procesu a využití fyzické paměti prahové hodnoty omezení lze změnit v BizTalk Server 2006 nebo novější.
  • Ve výchozím nastavení Využití paměti procesu Prahová hodnota omezení je 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 100. To umožňuje další spotřeba paměti procesem BizTalk dříve, než dojde k omezení.
  • Na Využití fyzické paměti práh omezení má výchozí hodnotu 0. Tento práh opatření celkové systémové paměti. Proto pokud je nakonfigurováno 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í prahy naleznete na následujícím webu Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/aa559628.aspx

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):
http://msdn.microsoft.com/en-us/library/aa560586.aspx
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í dehydratace paměti výchozí omezení prahy.

Vzhledem k tomu, že 64bitová architektura poskytuje expandované paměti adresového prostoru (16 TB místo 4 GB), 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í limity byly překročeny.

Chcete-li tento problém vyřešit, 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 bajtů.
  • Nastavte hodnotu OptimalUsage pro obě vlastnosti podle následujících údajů:
    VirtualMemoryThrottlingCriteria: hodnota bajtů \Process\Virtual + 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ů pro orchestration instance \Process\Virtual 5,784,787,695 bajtů (5,517 MB), nastavte hodnotu OptimalUsage pro VirtualMemoryThrottlingCriteria 6,069 MB (o rozměrech 5,784,787,695 * 1,10 = 6,363,266,464.5 bajtů). Nastavte hodnotu MaximalUsage pro VirtualMemoryThrottlingCriteria 7,889 MB (o rozměrech 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 (o rozměrech 435689400 * 1,10 = 479258340 bajtů). Nastavte hodnotu MaximalUsage pro PrivateMemoryThrottlingCriteria 594 MB (479258340 * 1,30 = 623035842).

V tomto příkladu by tyto hodnoty podle souboru BTSNTSvc64.exe.config ke snížení omezení.
Zmenšit tuto tabulkuRozšířit tuto tabulku
Čítače sledování výkonuPřidělená paměťOptimalUsageMaximalUsage
\Process\Virtual bajtů5784787695 bajtů (5517 MB)60697889
\Process\Private bajtů435689400 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 průběhu, 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, pokud databáze BizTalkMsgBoxDb se systémem SQL Server 2008.

Kumulativní aktualizace a aktualizace Service Pack pro BizTalk Server

BizTalk Server service Pack a kumulativní aktualizace obsahuje nejnovější opravy. Patří mezi ty, kteří ovlivňují známé problémy System.OutOfMemoryException.

2281783 Seznam Service Pack a kumulativní aktualizace 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 haldy Správce decommits každé stránce 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, systém dělá. Velikost 0x00040000 je doporučená počáteční hodnota.

Zvažte následující informace před změnit hodnotu z
HeapDeCommitFreeBlockThreshold
registru klíč:
  • Tato změna se týká pouze fragmentace paměti problémy.
  • Tato změna je celý systém. Proto se většina procesů Použijte více paměti při spuštění.
  • Považovat za tuto změnu pro systémy, které mají BizTalk Server jako jejich primární mise.
Ke snížení fragmentace virtuální paměti, zvýšení 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:
315407V klíči registru "HeapDecommitFreeBlockThreshold"

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ížit počet zpráv serveru BizTalk procesy ve stejnou dobu.
  • Zmenšete velikost zprávy XML, která je transformovány.
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 textu), sestavení je vytvořena v paměti. System.Policy.Security.Evidence objekt používá objekt skutečné volání 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í. V následujícím grafu určit 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 to 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.
Zmenšit tuto tabulkuRozšířit tuto tabulku
FunctoidsVložený skript?
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ázové FunctoidsNe
Rozšířené FunctoidsVložený skript?
Opakování FunctoidNe
Sloučení průhledností Functoid mapování hodnotNe
Vyhodnocení FunctoidNe
Extraktor Functoid tabulkyNe
Opakování Functoid tabulkyNe
Skriptování Functoid s vloženou C#Ano
Skriptování Functoid s vloženou JScript.NETAno
Skriptování Functoid pomocí vložené Visual Basic .NETAno
Skriptování Functoid s vloženou 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
Velkokapacitní kopírování FunctoidNe
Functoid iteraceNe
Index FunctoidNe
Functoid počet záznamůNe
BizTalk Server 2006 a novější verze výrazně zlepšit správu paměti velké dokumenty. Na BizTalk serveru implementuje konfigurovatelné zprávy limit pro velikost 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 následujícím webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa560481.aspx

Atribut velkých hodnot a velký element

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

Komponenty příležitostí

Použití komponenty příležitostí, který se načte celý datového proudu do paměti. Všechny součásti, které jsou součástí serveru BizTalk Server s výjimkou transformace podporuje datové proudy. Tyto součásti se nepoužívá tolik paměti během vysílání datového proudu. Však nemusí podporovat komponenty příležitostí 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 vysílání 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 zpráva kontextu, který může být velký nebo malý, toto chování ovlivňuje chování BizTalk Server pod napětím těžkých.

Má vliv chování serveru BizTalk Server protože modul načítá předem počet zpráv. Počet zprávy, které načte modul vychází z hodnot, které se zobrazují v LowWaterMark HighWaterMark pole a tabulky Adm_serviceClass. V tabulce Adm_serviceClass je Správa databáze BizTalk. Tyto hodnoty určit počet zpráv BizTalk Server zpracuje a odešle na současně.

Hodnota HighWaterMark je celkový počet zpráv, které zpracovává modul ve stejnou dobu. Výchozí hodnota je 200 zpráv na jeden procesor. Proto na 8 procesoru serveru odeslat hostitel pokusí zpracovat zprávy 1,600 (200 * 8) na současně. Pokud se předpokládá, že každá zpráva je 50 KB, zprávy 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 z důvodu nedostatku paměti podmínku, naleznete v části "Paměti růst v BizTalk Messaging" na následujícím webu společnosti Microsoft:
http://blogs.msdn.com/biztalkperformance
Pro BizTalk Server 2006 a novější verze můžete změnit výchozí hostitel. nastavení omezení. Další informace o změně výchozího hostitele. nastavení omezení, naleznete na následujícím webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa559628.aspx

Zkuste zjednodušit vydávání

Pokud zjistíte nevracení paměti, zkuste určit příčinu odebráním volitelných součástí nebo zjednodušením mapu. Zkuste také pro reprodukci pomocí jednoduchého orchestration nebo jednoduché řešení problému. Obvykle je měli vytvořit samostatný příjem hostitele přijímat adaptéry. Měli byste také Vytvořte samostatné odeslání hostitele pro odesílání adaptéry. Při použití této metody každý adaptér lze spustit v odděleném procesu. Proto když v procesu serveru BizTalk Server dojde z důvodu nedostatku paměti podmínku, bude vědět, jaké součásti jsou zahrnuty.

Kroky pro řešení potíží

Chcete-li odstranit podmínku out paměti, použití příkazu Debug Diagnostika v čase sledovat přidělení paměti. Diagnostický nástroj pro ladění Nástroj lze vytvářet a analyzovat soubor výpisu stavu paměti nevracení paměti (dmp). Pokud jste odstraňování potíží s nevracením paměti, cílem je před vysoké připojit Leaktrack.dll stav paměti se shoduje s zachytit paměti růst v průběhu času. Leaktrack.dll je součástí Diagnostika ladění.
  1. Nainstalujte nástroj Diagnostika ladění.

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

    Zmenšit tento obrázekZvětšit tento obrázek
    Ke stažení
    Stáhněte diagnostický nástroj pro ladění.

    Další informace o tom, jak stahovat soubory technické podpory společnosti Microsoft, získáte kliknutím na číslo následujícího článku znalostní báze Microsoft Knowledge Base:
    119591 Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
    Soubor neobsahuje viry. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici k datu zveřejnění souborů. Soubor je uložen na zabezpečených serverech, které neumožňují neoprávněné změny souborů.
  2. Použití programu Sledování výkonu k shromažďování dat o systému výkon. Tyto údaje může poskytnout důležité indikátory účinnosti prostředí serveru BizTalk. Cílem je zachytit proces výkonu v průběhu času. Proto povolte protokolování sledování výkonu před nevracení paměti nastane.

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

Vyberte data, která chcete protokolovat
Vyberte data, která chcete protokolovat, pomocí metody, která je vhodná pro operační systém:
  • Windows Server 2008 a Windows Server 2008 R2
    1. Nástroje pro správu otevřete Sledování spolehlivosti a výkonu.
    2. Klepněte pravým tlačítkem myši Sledování výkonu, klepněte na tlačítko Nové a potom klepněte na tlačítko Sada kolekcí dat.
    3. V Název Zadejte popisný název a 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 potom klepněte na tlačítko Dokončit.
    6. Rozbalte položku Sady kolekcí dat, rozbalte položku Uživatelem definované a potom vyberte soubor.
    7. Klepněte pravým tlačítkem myši Protokol sledování systémua potom klepněte na tlačítko Vlastnosti.
    8. Klepněte na tlačítko Přidat na Čítače výkonu Následující objekty vyberte kartu a klepněte na tlačítko Přidat Po výběru všech objektů:
      • Výjimky .net CLR
      • Paměť .net CLR
      • BizTalk: zasílání zpráv
      • BizTalk:TDDS
      • Paměť
      • Proces
      • Procesor
      • Orchestrations XLANG/s
      Pokud SQL Server je místní, také přidáte následující objekty:
      • SQLServer:Databases
      • Statistiky SQLServer:General
      • Správce SQLServer:Memory
    9. Klepněte na tlačítko OK.
    10. Změnit Hodnota intervalu vzorku pole 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. Protože souboru protokolu mohou být velké, zadejte interval, ve kterém můžete získat informace, které musíte mít na serveru strhávat.
    11. Klepněte na tlačítko OK.
    Sběr dat, klikněte na tlačítko Stop na Akce nabídka.
  • Pro systém Windows Server 2003 nebo Windows XP
    1. Rozbalte položku Protokolování výkonu a Oznámení.
    2. Klepněte pravým tlačítkem myši Protokoly čítačůa pak Klepněte na tlačítko Nové nastavení protokolu. Na Nové nastavení protokoluZobrazí se dialogové okno.
    3. V 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 Konfigurace Chcete-li změnit umístění souboru protokolu.)
    5. Klepněte na tlačítko Přidání čítačů.
    6. Vyberte Všechny čítače a Všechny instance.
    7. V Objekt sledování výkonu seznam select 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: zasílání zpráv
      • BizTalk:TDDS
      • Paměť
      • Proces
      • Procesor
      • Orchestrations XLANG/s
      Pokud SQL Server je místní, také přidáte 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 poli Odběr vzorků Interval do 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. Protože souboru protokolu mohou být velké, zadejte interval, ve kterém můžete získat informace, které musíte mít na serveru strhávat.
    10. Klepněte na tlačítko OK.
    Ukončit sběr dat, klepněte pravým tlačítkem myši na název protokolu čítače a pak klepněte na tlačítko Stop.
Získat soubor 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ěť a zpracování nevracení paměti 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. Spuštění programu Debug Diagnostika 1.1.
    2. Vyberte Paměť a popisovače, a Klepněte na tlačítko Další.
    3. Vyberte Btsntsvc.exe zpracovat a klepněte na tlačítko Další.
    4. Na stránce konfigurovat pravidlo nevracení paměti postupujte takto:
      1. Klepnutím vyberte Spustit ihned po aktivaci pravidla sledování paměti Zaškrtněte toto políčko. V ostatních případech lze určit dobu zahřívání před LeakTrack.dll se vstřikuje do BTSNTSvc.exe proces.
      2. Klepněte na tlačítko Konfigurace, a potom proveďte následující:
        • Potvrdit, že Automaticky vytvořit pravidlo selhání je vybrán. Výběrem této možnosti výpisu stavu paměti bude vytvořena automaticky pokud BTSNTSvc.exe proces se zastaví.
        • Klepnutím vyberte Generovat userdump když dosáhnou virtuálních bajtů Zaškrtněte políčko a zachovat výchozí hodnoty 1024.
        • Klepnutím vyberte a každá další Zaškrtněte políčko a zachovat výchozí 200.
        Virtuální bajty výběrem dosáhnout možnost, výpis stavu paměti se automaticky vytvoří při používá virtuální bajty 1024 MB. Pokud virtuální bajty zvýší o 200 MB, jiný výpis stavu paměti automaticky vytvořen.
      3. Klepněte na tlačítko Uložit & 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 Userdump umístění pole na této stránce.
    6. Klepněte na tlačítko Dokončit Chcete nyní aktivovat pravidlo.
    Poznámka: Nyní je sledování stavu pravidla. Při každém vytvoření výpisu paměti je hodnota 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. Postupujte následujícím způsobem
    1. Spuštění programu Debug Diagnostika 1.1.
    2. Klepněte Procesy na kartě.
    3. Klepněte pravým tlačítkem myši Btsntsvc.exe zpracovat a klepněte na tlačítko Monitor na těsnost.
    4. V Diagnostika ladění Dialogové okno Klepněte na tlačítko Anoa potom klepněte na tlačítko OK.
    Vytvořte pravidlo selhání můžete sledovat stejný Btsntsvc.exe proces v případě, že proces se zastaví před vytvořením výpis stavu paměti:
    1. Spustíte diagnostické nástroje ladění 1.1.
    2. Vyberte Crasha potom klepněte na tlačítko Další.
    3. Vyberte Specifické procesya potom klepněte na tlačítko Další.
    4. Vyberte stejný Btsntsvc.exe proces a potom klepněte na tlačítko Další.
    5. Na Upřesněná konfigurace (volitelné) Klepněte na tlačítko Další.
    6. V Vyberte umístění výpisu a Rule Name (volitelné) Dialogové okno, klepněte na tlačítko Další.
    7. Vyberte Nyní aktivovat pravidloa potom klepněte na tlačítko Dokončit.
    Při procesu dosáhne 60 až 80 procent paměti RAM, Btsntsvc.exe proces, klepněte pravým tlačítkem myši a potom klepněte na tlačítko Vytvoření úplné Userdump. Pokud BizTalk proces zastaví před vytvořením uživatele s výpisem stavu paměti, pravidlo selhání by 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 se stavem systému
Chcete-li zjistit příčinu nevracení paměti, může použití příkazu Debug Diagnostika analyzovat soubor s výpisem stavu paměti. Postupujte následujícím způsobem
  1. Klepněte Rozšířené analýzyna kartě.
  2. Klepněte na tlačítko Přidat datové souborya potom vyhledejte soubor dmp.
  3. Vyberte Při analýze paměti tlakuskript a potom klepněte na tlačítko Spuštění analýzy.
Ve výchozím nastavení soubor sestavy analýzy (MHT) bude vytvořen 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. Dále může obsahovat soubor sestavy doporučení pro řešení nevracení paměti.

Pokud použijete vlastní Knihovny DLL, můžete přidat vlastní PDB soubory pro analýzu cesty symbol. Chcete-li provést postupujte takto:
  1. Otevřete nástroj Diagnostika ladění.
  2. Na Nástroje nabídky, klepněte na tlačítko Možnosti a nastavení.
  3. V Cesta pro hledání symbolů pro laděnípole, zadejte cestu symbolů.
Pokud chcete analyzovat soubor výpisu nápovědy, kontaktujte společnost Microsoft Oddělení služeb technické podpory. Pro úplný seznam služeb zákazníkům telefonní čísla a informace o cenách technické podpory naleznete následující Web společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Předtím, než se obrátíte na oddělení služeb technické podpory, komprimujte soubor s výpisem stavu paměti, sledování výkonu protokolu, soubor sestavy analýzy a aktualizované protokoly událostí (soubory s příponou EVT). Bude pravděpodobně nutné odesílat že soubory na BizTalk Server pracovník odborné pomoci.

Vlastnosti

ID článku: 918643 - Poslední aktualizace: 30. května 2013 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft BizTalk Server Branch 2010
  • Microsoft BizTalk Server Developer 2010
  • Microsoft BizTalk Server Enterprise 2010
  • Microsoft BizTalk Server Standard 2010
  • 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 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
Klíčová slova: 
kbhowto kbmt KB918643 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 918643

Dejte nám zpětnou vazbu

 

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