BizTalk sunucu işlemi, yetersiz bellek özel durum ya da bir bellek sızıntısı sorunlarını giderme hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 918643 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bellek sızıntıları sık karşılaşılan bir sorun var. BizTalk Server'da belirli bir bellek sızıntısı veya bellek yetersiz (OOM) özel durum nedenini bulmak için bazı adımları denemek zorunda kalabilirsiniz. Bu makalede, bellek kullanımı ve bellekle ilgili olası sorunları değerlendirirken göz önüne almanız gereken önemli noktalar ele alınmaktadır. Bu noktalar şunlardır:
  • Fiziksel RAM
  • Büyük ileti işleme
  • Kullanımı / 3 GB geçiş
  • Özel bileşenler kullanımı
  • Microsoft .NET Framework çalıştıran sistem sürümünü
  • Işlemci sayısı

Giriş

Bu makalede, bir bellek sızıntısı veya özel bir yetersiz bellek durumu BizTalk sunucu işlemi Microsoft BizTalk Server'ın giderilir.

Daha fazla bilgi

BizTalk sunucu işleminin bellek kullanımı, Microsoft Windows Görev Yöneticisi'nde fiziksel RAM yüzde 50'sinden fazlasını kullanır, bir bellek sızıntısı yaşıyor olabilirsiniz. Sistem belleği yetersiz veya işlemin çalışması duruncaya kadar işlemi çalışan kadar bellek kullanımı artıyor bellek sızıntısı bellek yetersiz özel durum neden olabilir.

Bu sorun oluştuğunda, aşağıdakine benzer bir uyarı iletisi olay günlüğüne kaydedilir:

Olay Türü: uyarı
Olay kategorisi: (1)
Olay KIMLIĞI: 5410
Açıklama: BizTalk hizmetin sonlandırılmasını gerektiren bir hata oluştu. En sık karşılaşılan nedenleri beklenmeyen bir bellek hatasının ve <a2>eşleştirilemez Bağlan</a2> veya <a4>BizTalk veritabanlarından birine bağlantı kaybı dışına alır. Otomatik yeniden başlatma, 1 dakika ve hizmet olacak kapatma. Sorunlu veritabanı kullanılamaz durumda kalırsa, bu döngü yinelenir.
Hata iletisi: özel durum türü System.OutOfMemoryException oluşturuldu.
Hata kaynağı:
BizTalk ana bilgisayar adı: BizTalkServerApplication
Windows hizmeti adı: {DCC899FE-C62F-41BE-851A-8720B2EB9C14} BTSSvc

Olay türü: uyarı
Olay kategorisi: (1)
Olay KIMLIĞI: 5410
Açıklama: BizTalk hizmetin sonlandırılmasını gerektiren bir hata oluştu. En sık karşılaşılan nedenleri şunlardır: 1) beklenmeyen bir yetersiz bellek hatası. VEYA 2) bağlanmak için bir yüklenememesi veya BizTalk veritabanlarından birine bağlantı kaybı. Otomatik yeniden başlatma, 1 dakika ve hizmet olacak kapatma. Sorunlu veritabanı kullanılamaz durumda kalırsa, bu döngü yinelenir.
Hata iletisi: özel durum türü 'System.OutOfMemoryException' oluşturuldu.
Kaynak hata: mscorlib
BizTalk ana bilgisayar adı: BizTalkServerApplication
Windows hizmeti adı: BTSSvc $ BizTalkServerApplication

Dikkat edilmesi gereken önemli noktalar

Fiziksel RAM'ı ve bellek kullanımı

Işlem yaklaşık yarım fiziksel RAM'ı kullanmak için beklenen davranış olabileceğinden, bellek kullanımının bir kılavuz kullanın. Örneğin, BizTalk Server 4 gigabayt (GB) RAM varsa ve BizTalk sunucu işlemi yaklaşık 500 megabayt (MB) RAM kullanır, olmayabilir sızıntısı. BizTalk sunucu işlemi yaklaşık 1 GB RAM kullanır, yüksek bellek durum ya da bir bellek sızıntısı olabilir. Bellek tüketimi, bir uzun süren bir saklı yordam veya orkestrasyon kaynaklanabilir. BizTalk ana bilgisayar, bir bellek sızıntısı veya yüksek bellek durumu oluşup olup olmadığını belirlemek için genellikle kullandığı bellek miktarını bildiğinizden emin olun.

Büyük iletiler

BizTalk Server büyük iletileri işlediğinde, sistem için bir bellek sızıntısı gibi görünebilir. Ancak, iletilerin büyük miktarda bellek kullanıyor olabilirsiniz. Büyük iletileri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://blogs.msdn.com/biztalk_core_engine/archive/2005/02/28/381700.aspx
Ayrıca, BizTalk Server bu büyük iletileri işliyor, yüksek bellek kullanımı tahmin olduğunu düşünün. Donanımınız, ortamınızdaki, BizTalk Server'ın performansını gereksinimlerini karşılamak üzere yükseltmek isteyebilirsiniz.

Bellek sızıntısı üretmek için ne kadar sürer

Bellek sızıntıları hemen oluşabilir veya zaman içinde'birikebilecek. Her iki senaryo ortaktır.

32-Bit bilgisayarlarda 3 GB anahtarının kullanımı

Genellikle, bir işlem 2 GB sanal adres alanı erişebilirler. 3 GB anahtarının adreslenebilir bellek gerektiren sistemleri için bir seçenektir. Bu seçeneği, bellek kullanımı, iletileri işlemek için artırabilir. Ancak, yalnızca 1 GB çekirdek modu işlemleri için adreslenebilir bellek 3 GB anahtarının sağlar. Ayrıca, bu anahtar havuz belleği çalışan riski artabilir.

3 GB hakkında daha fazla bilgi için geçiş yapmak için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/ms791558.aspx
Zaman / 3 GB anahtarı, 32-bit Windows sürümünde etkinleştirildiğinde, işlem işlemi büyük adres ise 3 GB sanal adres alanı erişebilirler bilinmektedir. Büyük adres işlemidir yürütülebilir görüntü üstbilgisinde ayarlanan ımage_fıle_large_address_aware bayrağı varsa uyumlu. BizTalk işlemi büyük adres olduğundan bilgisi, BizTalk 3 GB anahtarından yararlı.

32-Bit BizTalk ana kopyası, <a1>Windows</a1> (AMD64) 64-bit sürümünü çalıştırıyorsa, 4 GB bellekten BizTalk işleminin yararlarını çünkü BizTalk büyük adres alanı adres bilgisi. Bu nedenle, yüksek bellek uygulamalarınızı 64-bit bir sunucuya taşıma, en iyi çözüm olabilir.

<a1>Windows</a1> (AMD64) 64-bit bir sürümünün 64-bit bir BizTalk işlem 8 sahip TB adreslenebilir bellek.

Sanal bayt sayısını ve işlem tarafından kullanılan özel bir bayt düşünmelisiniz. 2 GB sanal bayt değeri ulaşmadan önce (Bu bir .NET Framework uygulaması) BIR BizTalk ana kopyası yetersiz bellek hatası alabilirsiniz. Bu olsa bile adreslenebilir en fazla bellek bulunan bir 32-bit bir sürümünü bir işlem tarafından oluşabilir (olmadan / 3 GB geçiş) 2 GB'dir. Neden bu durum oluşabilir açıklama için aşağıdaki Microsoft Developer Network (MSDN) Web sitelerini ziyaret edin:
http://msdn.microsoft.com/en-us/library/ms972959.aspx
http://blogs.msdn.com/tess/archive/2005/11/25/496898.aspx
/ 3 GB anahtarı, 1800 MB 800 MB'den BizTalk işleminin özel bir en yüksek bayt de artırır. .NET Framework ile Uygulama performansı hakkında daha fazla bilgi için / 3 GB anahtarının etkinleştirdiği için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms998583.aspx
Aşağıdaki tabloda, bu bilgileri özetler ve pratik sınırları için sanal bayt sayısını ve özel bayt içerir.
Bu tabloyu kapaBu tabloyu aç
İşlemWindowsAdreslenebilir bellek (sahip adresi Aware büyük bir işlem)Sanal bayt için pratik sınırıÖzel bayt için pratik sınırı
32-bit32-bit2 gb1400 mb800 mb
32-bit32-bit 3 GB3 gb2400 mb1800 mb
32-bit64-bit4 gb3400 mb2800 mb
64-bit64-bit8 tbUygulanamazUygulanamaz
32-Bit ve 64-bit Windows için adreslenebilir bellek miktarını hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/aa366778.aspx
Aşağıdaki tablo, BizTalk Server'ın farklı sürümleri için PAE ve 3 GB desteklenebilirlik listeler.
Bu tabloyu kapaBu tabloyu aç
Ürünpae3 gb
BizTalk Server 2004EVETHayır
BizTalk Server 2006EVETEVET
BizTalk Server 2006 R2EVETEVET
BizTalk Server 2009EVETEVET
Gereken etkinleştirirseniz / 3 GB BizTalk Server çalıştıran bir bilgisayarda <a1>Performans</a1> gereksinimlerini karşılayacak biçimde geçiş yapmak için BizTalk grubuna sunucu eklemek finanse etmeyi düşünmek isteyebilirsiniz. Bu, yoğun bellek ana bilgisayar örnekleri dışında ölçmektir sağlar.

Bir ınternet ınformation Services (IIS) işlem içinde BizTalk bileşenleri de ne zaman yararlanabilir / 3 GB anahtarı etkinleştirilir.

/ 3 GB anahtarı, Windows SharePoint Services 2.0 veya sonraki sürümleri veya SharePoint Portal Server 2003 SP2 veya sonraki sürümlerini çalıştıran bilgisayarlarda desteklenmez. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
9335603 GB anahtarının Windows Server 2003, Windows SharePoint Services 2.0 veya sonraki sürümleri veya SharePoint Portal Server 2003 Service Pack 2 veya sonraki sürümlerinde desteklenmiyor

Özel bileşenler kullanımı

Görev hatları veya hizmeti bileşenlerini, örneğin, özel bileşenler'i kullanıyorsanız, bu bileşenlerden ne bilmelidir. Ayrıca, bellek kullanımı bu bileşenlerin olası etkisini de bilmeniz gerekir. Bir bileşen, bir belge dönüştürürken, ortak bir bellek sorunu oluşur. Dönüşüm işlemi belleği yoğun bir işlemdir. BizTalk Server belge dönüştürülür, ileti akışı BizTalk işlemdeki Microsoft .NET Framework çok sınıf geçirir.

Yoğun bir dize işleme olduğunda başka bir genel sorun oluşur. Yoğun dize düzenleme, büyük miktarda bellek tüketebilir. Performansını artırmanın yolları hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms998547

.NET Framework sürümü

Microsoft .NET Framework 2.0 ve .NET Framework 1.1 farklı bellek davranış var. Bu nedenle, bunların arasındaki farklı sonuçlar görebilirsiniz. .NET Framework 1. 1'i kullanıyorsanız, .NET Framework 1.1 Service Pack 1 (SP1) olduğunu onaylayın yüklü. SP1 çok bellek sorunları da giderir. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
867460.NET Framework 1.1 Service Pack 1'de (SP1) giderilen hataların listesi

İşlemci Sayısı

Ortak dil çalışma zamanı (CLR) aşağıdaki çöp toplayıcıları (GC'ler) vardır:
  • Iş istasyonu (mscorwks.dll)
  • <a1>Sunucu</a1> (Mscorsvr.dll)
BizTalk Server çalıştıran bir bilgisayara çok işlemcili bir sistemse, .NET Framework sunucu yürütme alt yapısı sürümünü kullanır. Bu, varsayılan davranıştır. Server çöp toplayıcısını en yüksek üretim için tasarlanmıştır. Ayrıca, çok yüksek bir performans sağlamak için sunucu çöp toplayıcısını ölçeklendirir. Bu çöp toplayıcısını bellek ayırır ve daha sonra sistemde yüksek performans sağlamak için belleği boşaltır. Bu nedenle, bazı .NET ile birlikte, BizTalk Server çalıştıran bir bilgisayar için bir bellek sızıntısı Çerçevesi bileşenlerinin görünebilir. Ancak, bu senaryoda, yüksek bellek kullanımı beklenen davranıştır. Bilgisayar sistem belleği yetersiz çalışıyorsa veya adreslenebilir bellek yetersiz olduğundan işlem çalışmayı durdurursa, bir bellek sızıntısı olabilir.

BizTalk Server çalıştıran bilgisayar tek işlemcili bir sistemse, .NET Framework Workstation yürütme alt yapısı sürümünü kullanır. Bu, varsayılan davranıştır. Iş istasyonu çöp toplayıcısını tahsisat algoritması, en yüksek üretim veya ölçeklendirme için tasarlanmamıştır. Bu çöp toplayıcısını eşzamanlı çöp toplayıcısını yöntemlerini kullanır. Bu yöntemler, karmaşık kullanıcı arabirimleri olan uygulamalar için tasarlanmıştır. Bu tür uygulamalar daha ısrarlı atık toplama işlemi gerektirebilir.

Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl söyleyin adımları içerir. Ancak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Ek koruma için, kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756Windows'da kayıt defterini yedekleme ve geri yükleme
Bazı durumlarda, çok işlemcili bir sistemde Workstation yürütme alt yapısı sürümünü çalıştırmak uygun olabilir. Iş istasyonu yürütme alt yapısı sürümüne geçmek için aşağıdaki kayıt defteri anahtarını kullanın:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\BTSSvc{7F09E353-4EFC-440B-249D-9D4ED58795FB}\


Ad değer: özellik
Değeri türü: dize
Veri değeri: hft
Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitelerini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms973838

http://msdn.microsoft.com/msdnmag/issues/1200/GCI2/default.aspx

Sık karşılaşılan nedenleri ve çözümleri

Işlem bellek kullanımı ve fiziksel bellek kullanımı eşiklerini azaltma

BizTalk Server 2006 ve sonraki sürümlerinde işlem bellek kullanımı ve fiziksel bellek kullanımı eşiklerini azaltma değiştirilebilir.
  • Varsayılan olarak, eşik azaltma işlem bellek kullanımı, 25 olarak ayarlanır. Bu değer aşıldığında BizTalk işleminin bellek kullanımı, birden fazla 300 MB ise, azaltma koşulu oluşabilir. 32-Bit bir sunucuda, işlem bellek kullanım değer 50'ye artırabilirsiniz. 64-Bit bir sunucuda, bu değer 100 artırabilirsiniz. Azaltma gerçekleştirilmeden önce bu BizTalk işlem tarafından daha fazla bellek tüketimini sağlar.
  • Eşik azaltma fiziksel bellek kullanımı, 0 varsayılan değeri vardır. Bu eşik toplam sistem belleği ölçer. Bu nedenle, 0'dan başka bir değere yapılandırılırsa, yüksek bellek olmayan BizTalk bir işlem tarafından kullanılıyorsa bir azaltma koşulu oluşabilir.
Azaltma eşiklerini hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/aa559628.aspx

Dehydration eşiklerini azaltma

Varsayılan bellek dehydration eşiklerini orchestrations bir 64-bit ana bilgisayarında çalıştırırken aşırı dehydration neden olabilir. Bu sorun hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesinde Dehydration varsayılan özellikler</a0> konusuna bakın:
http://msdn.microsoft.com/en-us/library/aa560586.aspx
Not 64-bit ana bilgisayarlar, BizTalk Server 2006 ve sonraki sürümlerinde desteklenir.

32-Bit ana örneğinde eşdeğer donanımda aynı orchestrations eşiklerini azaltma varsayılan bellek dehydration Ek Yardım düğmesini kullanarak çalıştırdığınızda, gözlemlenen dehydration nominal olur.

64 Bit mimarisinin genişletilmiş bellek adres alanının sağladığından (16 TB 4 GB yerine), 64-bit ana bilgisayar örnekleri, 32-bit ana bilgisayar örnekleri önemli ölçüde daha fazla bellek ayrılır. Bu, zorlanması varsayılan bellek azaltma eşiklerini neden olabilir.

Bu davranışa geçici bir çözüm bulmak için <a0></a0>, BTSNTSvc64.exe.config dosyasındaki VirtualMemoryThrottlingCriteria ve PrivateMemoryThrottlingCriteria değerleri değiştirin. Büyük bir orkestrasyon örneği tarafından ayrılan bellek miktarını belirlemek için Process\Virtual baytlar ve Process\Private bayt performans izleyicisi sayaçları'nı kullanın.
  • Aşağıdakilere göre her iki özelliği de OptimalUsage değerini ayarlayın:
    VirtualMemoryThrottlingCriteria: \Process\Virtual bayt değeri + % 10
    PrivateMemoryThrottlingCriteria: \Process\Private bayt değeri + % 10
  • Her iki özellik OptimalUsage değeri + % 30 MaximalUsage ayarlayın.
Örneğin, performans izleyicisi'ni Bayt sayacının değeri bir orkestrasyon örneğin \Process\Virtual 5,784,787,695 bayt (5,517 MB) ise, VirtualMemoryThrottlingCriteria 6,069 MB (5,784,787,695 * 1.10 = 6,363,266,464.5 bayt) için OptimalUsage değerini ayarlayın. MaximalUsage değeri VirtualMemoryThrottlingCriteria 7,889 MB (6,363,266,464.5 * 1.30 = 8,272,246,403.85 bayt) ayarlayın.

Performans izleyicisi'ni Bayt sayacının değeri \Process\Private 435689400 bayt (415 MB) ise, PrivateMemoryThrottlingCriteria 457 MB (435689400 * 1.10 = 479258340 bayt) için OptimalUsage değerini ayarlayın. MaximalUsage değeri PrivateMemoryThrottlingCriteria 594 MB (479258340 * 1.30 = 623035842) ayarlayın.

Bu örnekte, aşağıdaki değer azaltma azaltmak için BTSNTSvc64.exe.config dosyasında belirtilen.
Bu tabloyu kapaBu tabloyu aç
Performans izleyicisi sayacıAyrılmış bellekOptimalUsageMaximalUsage
\Process\Virtual bayt5784787695 bayt (5517 MB)60697889
\Process\Private bayt435689400 bayt (415 MB)457594
Bu değerler sonra BTSNTSvc64.exe.config dosyasında aşağıdaki şekilde gösterilemeyecek:
<xlangs>
      <Configuration>
                  <Dehydration>
                              <VirtualMemoryThrottlingCriteria OptimalUsage="6069" MaximalUsage="7889" IsActive="true" />
                              <PrivateMemoryThrottlingCriteria OptimalUsage="457" MaximalUsage="594" IsActive="true" />
                  </Dehydration>
      </Configuration>
</xlangs>
Hangi ana orkestrasyon çalışıyor belirlemek için <a0></a0>, gelen \BizTalk:Messaging\ID işlem KIMLIK işlemi ve işlem performans izleyicisi sayaçları \Process\ID taşıyla eşleştirebilirsiniz. Ardından karşılık gelen \Process\Virtual bayt ve \Process\Private bayt performans izleyicisi sayaçları için görüntülenen ortalama değerini denetleyin.

Not BizTalkMsgBoxDb veritabanı SQL Server 2008 üzerinde çalışırken, aşırı dehydration önemli bir performans azalmasına neden olabilir.

BizTalk Server 2004

BizTalk Server 2004 kullanıyorsanız, bazı bellekle ilgili sorunlar yaşayabilirsiniz. Bu sorunları gidermek için <a0></a0>, BizTalk Server 2004 Service Pack 2 (SP2) ve en son işletim sistemi hizmet paketi uygulayın.

HeapDeCommitFreeBlockThreshold

Varsayılan olarak, theHeapDeCommitFreeBlockThreshold kayıt defteri anahtarının değeri 0'dır. Bir değer yığın yöneticisinin, kullanılabilir her 4 kilobaytlık (KB) sayfa decommits 0 anlamına gelir. Kaydettikleri işlem sanal bellek parçalanmasına neden olabilir. Yığın yöneticisinin <a1>HeapDeCommitFreeBlockThreshold</a1> ayarı boyutu üzerinde sistem yaptığını iş türüne bağlıdır. Bir 0x00040000 önerilen bir başlangıç değeri boyutudur.

<a0>
HeapDeCommitFreeBlockThreshold
</a0> kayıt defteri anahtarının değerini değiştirmek için önce aşağıdaki bilgileri göz önüne alın:
  • Bu değişiklik, yalnızca bellek parçalanması sorunlarını için de geçerlidir.
  • Bu sistem genelinde değişikliğidir. Bu nedenle, çoğu işlemleri, başlangıçta daha fazla bellek kullanır.
  • BizTalk Server, birincil iş ile ilgili olarak sahip olan sistemler için bu değişikliği yalnızca göz önünde bulundurun.
Sanal bellek parçalanması azaltmak için <a0></a0>, aşağıdaki kayıt defteri anahtarının değerini değiştirerek yığın yöneticisinin <a1>HeapDeCommitFreeBlockThreshold</a1> ayarı boyutunu artırabilirsiniz:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager


Değer adı: HeapDeCommitFreeBlockThreshold
Değeri türü: REG_DWORD
Veri değeri: 0x00040000 (Bu, önerilen başlangıç değerine bağlıdır.)
Varsayılan değer: yok
<a0>HeapDeCommitFreeBlockThreshold</a0> kayıt defteri anahtarı hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
315407"HeapDecommitFreeBlockThreshold" kayıt defteri anahtarı (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)

Operasyonlar dönüştürme

BizTalk Server XML dönüştürme işlemleri oldukça büyük iletiler gönderme bağlantı noktası alma bir bağlantı noktası yapar veya XLANG içinde XSL Dönüşümleri Al bellekteki tüm ileti yüklenemedi.

Bu sorunu gidermek için aşağıdaki yöntemlerden birini kullanın:
  • BizTalk Server'ı aynı anda işler iletilerin sayısını azaltın.
  • Dönüştürülmüş XML ileti boyutunu azaltın.
System.Policy.Security.Evidence nesne dönüşümler kullanılma sıklığı nedir ve ne kadar bellek kullanılmasına neden olabilir. Satır içi C# (veya başka bir satır içi dili) kullanan bir komut dosyası functoid harita içeren her derleme bellekte oluşturulur. System.Policy.Security.Evidence nesnesini, nesnenin gerçek arama derlemenin kullanır. Bu durum, BizTalk hizmet yeniden başlatılıncaya kadar silinmez rooted oluşturur.

Varsayılan BizTalk functoids çoğu, satır içi komut dosyası olarak uygulanır. Bu öğeler, bellekte toplanacak System.Byte [] nesneleri neden olabilir. Bellek tüketimini en aza indirmek için <a0></a0>, küçük bir derleme içinde bu functoids kullanan herhangi bir eşleme put öneririz. Sonra bu derleme başvurusu. Aşağıdaki grafik, satır içi kod hangi functoids kullanmak belirlemek için kullanın ve hangi functoids satır içi komut dosyasını kullanın.

Ikinci sütuna, “ bu functoid satır içi komut dosyası olarak uygulanır ve bellekte toplanacak System.Byte [] nesneleri neden olacak Evet ”. “ Hiçbir ” bu functoid satır içi komut dosyası olarak uygulanır ve dosyayı bellekte toplanacak System.Byte [] nesneleri neden olmaz, anlamına gelir.
Bu tabloyu kapaBu tabloyu aç
FunctoidsSatır içi kod?
Tüm dize FunctoidsEVET
Tüm matematiksel FunctoidsEVET
IsNil dışındaki tüm mantıksal FunctoidsEVET
Mantıksal IsNil FunctoidHayır
Tüm tarih/saat FunctoidsEVET
Tüm dönüştürme FunctoidsEVET
Tüm bilimsel FunctoidsEVET
Tüm toplu FunctoidsEVET
Tüm veritabanı FunctoidsHayır
Gelişmiş FunctoidsSatır içi kod?
Döngü FunctoidHayır
Değer eşleme Functoid düzleştirmeHayır
Functoid onaylama işlemiHayır
Tablo Extractor FunctoidHayır
Döngü Functoid tabloHayır
Komut dosyası Functoid olan satır içi C#EVET
Satır içi JScript.NET ile Functoid komut dosyasıEVET
Satır içi Visual Basic .NET ile Functoid komut dosyasıEVET
Satır içi XSLT ile Functoid komut dosyasıHayır
Satır içi XSLT arama şablonla komut dosyası FunctoidHayır
Komut dosyası Functoid dış birleştirme çağrılıyor.Hayır
El almaz değeri FunctoidHayır
Değer eşleme FunctoidHayır
Yığın Kopyala FunctoidHayır
Yineleme FunctoidHayır
Dizin FunctoidHayır
Kayıt sayısı FunctoidHayır
BizTalk Server 2006 ve sonraki sürümleri, bellek yönetimi için büyük belgeleri önemli ölçüde artırır. Bunu yapmak için <a0></a0>, BizTalk Server'ı dönüştürme işlemleri sırasında belleğe belgeler için yapılandırılabilir bir iletinin boyutu eşiğini uygular. Varsayılan ileti boyutu eşiğini 1 MB'dir. TransformThreshold ayarı hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa560481.aspx

Büyük bir öznitelik değerleri ve büyük öğe değerleri

BizTalk Server üzerinde bir XML belgesi alma potansiyel veya gönderme potansiyel yürütüldüğünde, belge aşağıdaki varlıklar birini veya birden fazlasını içeriyorsa, yükü bellekte işlenir:
  • Büyük bir öznitelik değerleri
  • Büyük öğe değerleri
  • Büyük bir öznitelik veya öğe etiketleri
Bu sorunu gidermek için <a0></a0>, bu öğelerin boyutu sınırlandırın. Bu yöntem mümkün değilse, BizTalk HOST örneğinizle, bunlar aynı anda birden çok belge işleme dikkat edin.

Potansiyel satış bileşenleri

Kullandığınız bir potansiyel satış bileşeni tüm akışı belleğe yükler. BizTalk Server ile dönüşümler dışında içerdiği tüm bileşenleri, akış destekler. Bu bileşenler, akış sırasında fazla bellek kullanmaz. Ancak, potansiyel satış bileşenleri akış desteklemeyebilir.

Yoğun yük altında akış

Ana bellek çalıştırmak, yoğun yük altında çalışması gönderin. BizTalk Server, görev hatları göndermek ve bağdaştırıcıları desteği akış gönderin. Akış, her bileşen akış, küçük bir bölümü belleğe yükler. Bu davranış, her ileti, büyük veya küçük bir iletinin içeriği ile birlikte diğer veri yapıları içerdiğinden yoğun yük altında BizTalk Server'ın davranışını etkiler.

BizTalk Server'ın davranış nedeniyle, altyapı önceden yapılandırılmış çeşitli iletileri yükler etkilenecektir. Altyapı yüklenen iletilerin sayısını LowWaterMark alan ve tablo Adm_serviceClass HighWaterMark alanında görüntülenen değerleri temel alır. BizTalk Yönetim veritabanında Adm_serviceClass tablodur. Bu değerler, BizTalk Server işler veya aynı anda gönderir iletilerinin sayısını denetler.

HighWaterMark değeri aynı anda altyapı işlemleri iletilerinin toplam sayısıdır. CPU başına 200 iletiler varsayılan değerdir. Bu nedenle, bir işlemci 8 sunucusunda 1,600 iletileri (200 * 8) aynı anda işlemek gönderme ana deneyecek. Iletiler, her iletinin 50 KB olduğunu varsayalım, 80 MB (1, 600 * 50 = 80 000 KB) eşit.

Bu sorunu gidermek için <a0></a0>, HighWaterMark değer ve veritabanındaki LowWaterMark değerini değiştirebilirsiniz. Kullandığınız değerleri iletilerin boyutuna bağlıdır.

Bir yetersiz bellek durumu sık karşılaşılan nedenleri hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesinde "Bellek büyümesi, BizTalk Messaging" bölümüne bakın:
http://blogs.msdn.com/biztalkperformance
BizTalk Server 2006'da ve sonraki sürümlerinde, varsayılan ana bilgisayar azaltma ayarları değiştirebilirsiniz. Varsayılan ana bilgisayar azaltma ayarları değiştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa559628.aspx

Sorun basitleştirmek deneyin.

Özel bileşenler kaldırılıyor veya harita basitleştirme nedenini belirlemek, belirlediğiniz bir bellek sızıntısı, deneyin. Ayrıca, basit bir orkestrasyon veya basit bir çözüm kullanarak sorunu yeniden oluşturmaya çalışın. Genellikle, ayrı oluşturmalısınız almak için ana bilgisayar bağdaştırıcıları alırsınız. Send bağdaştırıcılar için ayrı bir gönderme ana bilgisayarlar da oluşturmanız gerekir. Bu yöntemi kullandığınızda, her bağdaştırıcının ayrı bir işlemde çalışır. Bu nedenle, BizTalk Server sürecinizin bir yetersiz bellek durumu oluşursa, hangi bileşenlerin söz konusu bilirsiniz.

Sorun giderme adımları

Bir yetersiz bellek durumu ile ilgili sorunları giderme hakkında bilgi için Debug kullanmak zamanla bellek ayırmalarını izlemek için tanılama aracı. Hata ayıklama tanılar aracı oluşturabilir ve bir bellek sızıntısı dökümü dosyası (.dmp) çözümleyebilirsiniz. Bellek sızıntıları ile ilgili sorunları giderme Leaktrack.dll bellek büyüme zaman yakalamak için yüksek bellek koşulunu reproduces önce iliştirilecek amacı olur. Tanılama hata ayıklama aracıyla Leaktrack.dll bulunur.
  1. Debug Tanılama Aracı'nı yükleyin.

    Aşağıdaki dosya Microsoft Yükleme Merkezi'nden yüklenebilir:

    Bu resmi kapatBu resmi aç
    Download
    Download the Debug Diagnostic Tool package now.

    Microsoft Destek dosyalarını karşıdan yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    119591Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den Nasıl Alınır
    Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır.
  2. Sistem performansı hakkında veri toplamak üzere Performans izleyicisi'ni kullanın. Bu veriler, BizTalk Server ortamınızı verimliliğini hakkında önemli göstergeleri sağlayabilir. Amaç, işleminin performansı zamanla yakalanacak sağlamaktır. Bu nedenle, bellek sızıntısı oluşuyor önce performans izleyicisi günlüğünü etkinleştirir.

Performans izleyicisi günlüğü nasıl kullanılır?

Verileri günlüğe kaydetmek için seçin...
Oturum verileri seçmek için <a0></a0>, işletim sisteminiz için uygun yöntemi kullanın:
  • Windows Server 2008
    1. Yönetimsel Araçlar'daki Güvenilirlik ve performans izleyicisi'ni açın.
    2. Performans izleyicisi ' ni sağ tıklatın, Yeni'yi tıklatın ve sonra da <a2>Veri toplayıcı grubu</a2>'ı tıklatın.
    3. Ad kutusuna açıklayıcı bir ad yazın ve sonra ileri ' yi tıklatın.
    4. Kök dizine dikkat edin ve sonra ileri ' yi tıklatın.
    5. Bu veri toplayıcı kümesi Şimdi Başlat ' ı tıklatın ve sonra da <a2>son</a2>'u tıklatın.
    6. Veri toplayıcı kümeleri ' ni genişletin, Kullanıcı tanımlı ' yı genişletin ve sonra da dosyanızı seçin.
    7. Sistem izleyicisi günlüğü sağ tıklatın ve sonra da Properties ' i tıklatın.
    8. Aşağıdaki nesneler Performans sayaçları sekmesinde seçim Ekle'yi ve her nesneyi seçtikten sonra Ekle ' yi tıklatın:
      • .NET CLR özel durumları
      • .NET CLR belleği
      • BizTalk: ileti
      • BizTalk:TDDS
      • Bellek
      • Işlem
      • Işlemci
      • XLANG/s Orchestrations
      Ayrıca, yerel bir SQL Server ise, aşağıdaki nesneler ekleyin:
      • SQLServer:Databases
      • SQLServer:General istatistikleri
      • SQLServer:Memory Yöneticisi
    9. Tamam ' ı tıklatın.
    10. Örnek aralık değeri kutusunu 5 saniye olarak değiştirin.

      Not Örnek aralık değeri ve izlemek başlangıç saati öznel var. Bellek sızıntısı yeniden, bu değerler bağlıdır. Günlük dosyası büyük olduğundan, sunucu yayma olmadan gereken bilgileri edinmek için bir aralık belirtin.
    11. Tamam ' ı tıklatın.
    Veri toplamayı durdurmak için <a0></a0>, Eylem menüsünden Durdur ' u tıklatın.
  • Windows XP veya Windows Server 2003 için
    1. Performans Günlükleri ve Uyarıları'nı genişletin.
    2. Sayaç günlükleri ' ı sağ tıklatın ve Yeni günlük ayarları</a1>'ı tıklatın. Yeni günlük ayarları iletişim kutusu görüntülenir.
    3. Ad kutusuna açıklayıcı bir ad yazın ve Tamam ' ı tıklatın.
    4. Günlük dosyasının konumunu not alın. (, Aynı zamanda Günlük dosyaları sekmesini tıklatın ve günlük dosyasının konumunu değiştirmek için Yapılandır ' ı tıklatın.)
    5. Sayaç Ekle ' yi tıklatın.
    6. Tüm sayaçlar ve tüm örnekleri bu seçeneği seçin.
    7. Performans nesnesi</a0> listesinde aşağıdaki nesneleri seçin. Her nesneyi seçtikten sonra Ekle ' yi tıklatın.
      • .NET CLR özel durumları
      • .NET CLR belleği
      • BizTalk: ileti
      • BizTalk:TDDS
      • Bellek
      • Işlem
      • Işlemci
      • XLANG/s Orchestrations
      Ayrıca, yerel bir SQL Server ise, aşağıdaki nesneler ekleyin:
      • SQLServer:Databases
      • SQLServer:General istatistikleri
      • SQLServer:Memory Yöneticisi
    8. Kapat ' ı tıklatın.
    9. Değer değiştirme veri örnekleme aralığı 5 saniye.

      Not Veri örnekleme aralığı değeri ve izlemek başlangıç saati öznel var. Bellek sızıntısı yeniden, bu değerler bağlıdır. Günlük dosyası büyük olduğundan, sunucu yayma olmadan gereken bilgileri edinmek için bir aralık belirtin.
    10. Tamam ' ı tıklatın.
    Veri toplamayı durdurmak için <a0></a0>, sayacın adını sağ tıklatın ve sonra da <a2>Durdur</a2>'u tıklatın.
Döküm dosyasını edinin.
Döküm dosyasını edinmek için aşağıdaki yöntemlerden birini kullanın:
  • Yöntem 1: otomatik
    Belleği ve tanıtıcı sızıntısı bir kural ile DebugDiag oluşturma bir bellek dökümü yakalamak için önerilen yaklaşımdır. Belleği ve tanıtıcı sızıntısı kural, Leaktrack.dll otomatik olarak ekler. Bu, bellek ayırmalarını izlemek için kullanılır. Belleği ve tanıtıcı sızıntısı kural oluşturmak için aşağıdaki adımları izleyin:
    1. Debug'ı başlatın Tanılama Aracı 1.1.
    2. Belleği ve tanıtıcı sızıntısı seçin ve ileri ' yi tıklatın.
    3. Btsntsvc.exe işlemini seçin ve ileri ' yi tıklatın.
    4. Sızıntısı kural yapılandır sayfasında aşağıdaki adımları izleyin:
      1. Bellek izleme hemen kural etkinleştirdiğiniz zaman onay kutusunu seçmek için tıklatın. Aksi halde, LeakTrack.dll BTSNTSvc.exe işleminde Püskürtülen için önce warm-up bir saat belirtebilirsiniz.
      2. Yapılandır ' ı tıklatın ve sonra aşağıdakileri yapın:
        • Doğrulayın otomatik oluşturma kilitlenme kural seçilir. BTSNTSvc.exe işlemi sonlandırır, bu seçeneği belirleyerek, bir bellek dökümü otomatik olarak oluşturulur.
        • Userdump, tıklattığınızda <a0>sanal bayt sayısını ulaşma oluştur onay kutusunu tıklatıp seçin ve varsayılan değer 1024 tutun.
        • Ve her ek onay kutusunu tıklatıp seçin ve varsayılan değer 200 tutun.
        Sanal bayt sayısını belirleyerek, seçenek ulaşmak için bir bellek dökümü otomatik olarak ne zaman oluşturulacak sanal bayt sayısını 1024 MB kullanır. Başka bir bellek dökümü, sanal bayt 200 MB artarsa, otomatik olarak oluşturulur.
      3. Ileri ' yi tıklatın.
      4. Kaydet ve Kapat'ı tıklatın..
    5. Dökümü konumu seçin ve kural adı sayfasında ileri ' yi tıklatın.

      Not Bu sayfada <a0>Userdump konumu</a0> kutusunda döküm dosyasının yolunu da değiştirebilirsiniz.
    6. Kural şimdi etkinleştirmek için son ' u tıklatın.
    Not Kuralı durumu şimdi izleme. Oluşturulan bir bellek dökümü, her seferinde <a0>kurallar</a0> sekmesindeki <a1>Userdump sayısı</a1> sütunundaki değeri artar. Bellek dökümü varsayılan konum C:\Program Files\DebugDiag\Logs ' dir.
  • Yöntem 2: manual
    El ile de Leaktrack.dll iliştirin ve el ile bellek dökümü dosyası elde edebilirsiniz. Bellek dökümü oluşturulduğunda bu denetime sağlar. Bunu yapmak için şu adımları izleyin:
    1. Debug'ı başlatmak 1.1 Tanılama aracı.
    2. Işlemler sekmesinde Ek Yardım düğmesini tıklatın.
    3. Btsntsvc.exe işlemi sağ tıklatın ve İzleyicisi sızıntısı'for [NULL]'ı tıklatın.
    4. Tanılama Aracı hata ayıklama iletişim kutusu, Evet ' i tıklatın ve sonra Tamam ' ı tıklatın.
    Aynı Btsntsvc.exe işlem durumunda, bellek dökümü oluşturabilmeniz için önce işlemi sona erdirir izlenecek bir kilitlenme kuralı oluşturun:
    1. Başlangıç 1.1 Tanılama Aracı hata ayıklama.
    2. Kilitlenme seçin ve ileri ' yi tıklatın.
    3. Belirli BIR işlem seçin ve ileri ' yi tıklatın.
    4. Aynı işlem Btsntsvc.exe seçin ve ileri ' yi tıklatın.
    5. Gelişmiş Yapılandırma (isteğe bağlı) sayfasında ileri ' yi tıklatın.
    6. Select dökümü konumu ve kural adı (isteğe bağlı) iletişim kutusunda ileri ' yi tıklatın.
    7. Şimdi kuralını etkinleştir ' i seçin ve sonra Finish'i (son) tıklatın.
    Işlem yüzde 60'için yüzde 80 RAM ulaştığında, Btsntsvc.exe işlemi sağ tıklatın ve Tam Userdump oluştur</a1>'ı tıklatın. Kullanıcı dökümü oluşturabilmeniz için önce BizTalk işlemi sona ererse, kilitlenme kural etkili ve bellek dökümü oluşturmanız gerekir.
Performans izleyicisi günlüğü durdur
Bir bellek dökümü ve performans izleyicisi'nin veri yakalamaya, bellek dökümü oluşturulduktan sonra yaklaşık iki dakika performans izleyicisi günlüğü durdur.
Döküm dosyasını analiz
Bir bellek sızıntısı nedenini belirlemenize yardımcı olması için <a0></a0>, hata ayıklama kullanabileceğiniz Tanılama Aracı, döküm dosyasını çözümlemek için. Bunu yapmak için şu adımları izleyin:
  1. Gelişmiş çözümlemesi tıklatın sekmesi.
  2. Veri dosyaları ' nı tıklatın ve sonra .dmp dosyasını bulun.
  3. Bellek Basıncı çözümlemesi seçin komut dosyası ve Çözümlemesi, Başlat'ı tıklatın.
Inceleme tamamlandığında varsayılan olarak, bir analiz raporu dosyası (.mht) C:\Program Files\DebugDiag\Reports klasöründe oluşturulur. Rapor dosyası ayrıca, tarayıcınızda görüntülenir. Rapor dosyasını çözümleme sonuçlarını içerir. Ayrıca, rapor dosyasını bellek sızıntısı sorunu çözmeye yönelik öneriler içerebilir.

Özel DLL'ler kullanırsanız, simge yolu çözümleme için özel .pdb Dosya ekleyebilirsiniz. Bunu yapmak için şu adımları izleyin:
  1. Hata ayıklama Tanılama Aracı'nı açın.
  2. Araçlar menüsünden Seçenekler'i ve ayarlar'ı tıklatın.
  3. The İçin simge arama yolu Debugging içinde simge yolu yazın.
Yardım, döküm dosyasını çözümlemek isterseniz, Microsoft Müşteri Destek Hizmetleri'ne başvurun. Numaraları ve destek ücretleriyle, ilgili bilgileri, Müşteri Destek Hizmetleri'nin tam listesi için telefon aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Müşteri Destek Hizmetleri'ne başvurmadan önce döküm dosyasını performans izleyicisi günlüğü, analiz raporu dosya ve güncelleştirilmiş olay günlüğü (.evt dosyaları) sıkıştırır. Bu dosyalar bir BizTalk Server'a mühendisi desteği göndermek zorunda kalabilirsiniz.

Özellikler

Makale numarası: 918643 - Last Review: 27 Mayıs 2009 Çarşamba - Gözden geçirme: 9.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft BizTalk Server 2009 Branch
  • Microsoft BizTalk Server 2009 Developer
  • Microsoft BizTalk Server 2009 Enterprise
  • Microsoft BizTalk Server 2009 Standard
  • 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
Anahtar Kelimeler: 
kbmt kbhowto KB918643 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:918643

Geri Bildirim Ver

 

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