В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Способы устранения утечки памяти или исключение нехватки памяти в процессе BizTalk Server

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 918643
Аннотация
Утечки памяти являются распространенной проблемой. Может потребоваться повторить несколько шагов, чтобы найти конкретную причину утечки памяти или исключение нехватки памяти (OOM) в Microsoft BizTalk Server. В данной статье рассматриваются важные вопросы, которые необходимо учитывать при оценке использования памяти и возможных проблем, связанных с памятью. Эти сведения включают следующее:
  • Объем ОЗУ
  • Обработка больших сообщений
  • Использование / 3GB коммутатор
  • Использование пользовательских компонентов
  • Платформа.NET Framework Microsoft версии система работает
  • Число процессоров
ВВЕДЕНИЕ
В этой статье описывается устранение утечки памяти или исключение нехватки памяти в процессе BizTalk Server Microsoft BizTalk Server.
Дополнительная информация
В процессе BizTalk Server может возникнуть утечка памяти при использовании памяти в диспетчере задач Microsoft Windows использует более 50% физической памяти. Утечки памяти могут вызвать исключение нехватки памяти при увеличивается использование памяти, пока процесс запускается из системной памяти или пока процесс перестанет работать.

При возникновении этой проблемы в журнале событий регистрируется сообщение, подобное приведенному ниже:

Тип события: предупреждение
Категория события: (1)
Код события: 5410
Описание: Произошла ошибка, требующая использования службы BizTalk для завершения. Наиболее распространенными причинами являются непредвиденная ошибка памяти и невозможность подключения или потери подключения к одной из баз данных BizTalk. Служба отключается и автоматическую перезагрузку в 1 минуту. Если проблемы база данных остается недоступной, этот цикл будет повторяться.
Сообщение об ошибке: исключение было вызвано System.OutOfMemoryException типа.
Источник ошибки:
Имя узла BizTalk: BizTalkServerApplication
Имя службы Windows: BTSSvc {DCC899FE-C62F-41BE-851A-8720B2EB9C14}

Тип события: предупреждение
Категория события: (1)
Код события: 5410
Описание: Произошла ошибка, требующая использования службы BizTalk для завершения. Ниже приведены наиболее распространенные причины: 1) непредвиденное ошибку нехватки памяти. ИЛИ 2) невозможность подключения или потери подключения к одной из баз данных BizTalk. Служба отключается и автоматическую перезагрузку в 1 минуту. Если проблемы база данных остается недоступной, этот цикл будет повторяться.
Сообщение об ошибке: исключение типа «System.OutOfMemoryException» было выдано.
Источник ошибки: mscorlib
Имя узла BizTalk: BizTalkServerApplication
Имя службы Windows: BTSSvc$ BizTalkServerApplication

Важные замечания

Использование физической оперативной памяти и памяти

Поскольку может быть ожидаемое поведение для процесса для использования около половины объема физической памяти, использование памяти используйте в качестве образца. Например если BizTalk Server имеет 4 гигабайта (ГБ) оперативной памяти, а в процессе BizTalk Server используется около 500 мегабайт (МБ) оперативной памяти, возможно нет утечки. Если в процессе BizTalk Server использует примерно 1 ГБ оперативной памяти, возможны утечки памяти или ситуацию, в верхнюю область памяти. Потребление памяти может быть вызвано длительного выполнения хранимой процедуры или взаимодействие. Убедитесь, что вы знаете, сколько памяти узла BizTalk обычно использует, чтобы определить, произошла ли утечка памяти или высокой памяти.

Большие сообщения

Когда BizTalk Server обрабатывает большие сообщения, система кажется происходит утечка памяти. Тем не менее сообщения может использовать большой объем памяти. Дополнительные сведения о больших сообщений посетите следующие веб-узлы Microsoft Developer Network (MSDN): Кроме того рекомендуется при обработке больших сообщений BizTalk Server может потребоваться использование памяти. Может потребоваться обновление оборудования для удовлетворения требований к производительности BizTalk Server в рабочей среде.

Продолжительность воспроизведения утечки памяти

Утечки памяти может произойти немедленно, или они могут со временем накапливаться. Наиболее часто используются оба сценария.

Использование параметра/3 GB на 32-разрядных компьютерах

Как правило процесс может получить доступ к 2 ГБ виртуального адресного пространства. Параметр/3 GB — это параметр для систем, требующих более адресного пространства памяти. Этот параметр может увеличить использование памяти для обработки сообщений. Тем не менее параметр/3 GB позволяет только 1 ГБ адресного пространства памяти для операций режима ядра. Кроме того этот параметр может повысить риск нехватки памяти пула.

Дополнительные сведения о Параметре/3 GB переключения, посетите следующий веб-узел Microsoft Developer Network (MSDN): При включении параметра/3 GB в 32-разрядной версии Windows, процесс может получить доступ 3 ГБ виртуального адресного пространства, если процесс большой адрес знать. Процесс является большим адрес знать, если исполняемый файл имеет IMAGE_FILE_LARGE_ADDRESS_AWARE флаг в заголовке образа. Так как процесс BizTalk является большим адрес помнить BizTalk выиграют ключ/3 GB.

Если запущен экземпляр узла BizTalk 32-разрядной на 64-разрядной версии Windows (AMD64), преимущества BizTalk процесса из памяти 4 ГБ адресное пространство из-за большого адресного BizTalk виду. Таким образом перемещение верхней памяти приложений для 64-разрядного сервера может быть лучшим решением.

BizTalk 64-разрядный процесс на 64-разрядной версии Windows (AMD64) имеет 8 ТБ адресного пространства памяти.

Следует также учитывать байт виртуальной памяти и байтов исключительного пользования, используемой процессом. Экземпляр узла BizTalk (который приложений платформа.NET Framework) может появиться сообщение о нехватке памяти до 2 ГБ виртуальной памяти значение. Это может произойти, несмотря на то, что максимальный объем адресуемой процессом на 32-разрядной версии Windows (без параметра/3 GB ) памяти составляет 2 ГБ. Объяснение, почему это может произойти посетите следующие веб-узлы Microsoft Developer Network (MSDN): Параметр/3 GB и увеличивает максимальное байты исключительного пользования процесса BizTalk от 800 МБ до 1800 МБ. Дополнительные сведения о производительности приложений платформа.NET Framework с поддержкой 3 GB посетите следующий веб-узел Microsoft Developer Network (MSDN): Следующая таблица обобщает эти сведения и практические ограничения на байты исключительного пользования и байт виртуальной памяти.
ПроцессWindowsАдресуемая память (с большой процесс знать адрес)Практические ограничения для виртуальной памятиПрактические ограничения для байтов исключительного пользования
32-разрядные32-разрядные2 ГБ1400 МБ800 МБ
32-разрядные32-разрядные с 3 ГБ3 ГБ2400 МБ1800 МБ
32-разрядные64-разрядная4 ГБ3400 МБ2800 МБ
64-разрядная64-разрядная8 ТБНе применимоНе применимо
Дополнительные сведения о адресуемой памяти для 32-разрядная и 64-разрядной версии Windows посетите следующий веб-узел Microsoft Developer Network (MSDN): В следующей таблице перечислены возможности поддержки PAE и / 3GB для различных версий BizTalk Server.
ПродуктРАСШИРЕНИЯ ФИЗИЧЕСКИХ АДРЕСОВ3 ГБ
BizTalk Server 2004.ДаНет
BizTalk Server 2006 г.ДаДа
BizTalk Server 2006 R2ДаДа
BizTalk Server 2009 г.ДаДа
Если необходимо включить параметр/3 GB удовлетворить требования к производительности компьютера, на котором работает BizTalk Server, можно добавить серверы в группу BizTalk. Это позволяет масштабировать большой объем памяти хост-экземпляры.

Также могут выиграть BizTalk компоненты, выполняющиеся внутри процесса Internet Information Services (IIS), если включен параметр/3 GB .

Параметр/3 GB не поддерживается на компьютерах под управлением Windows SharePoint Services 2.0 или более поздней версии или SharePoint Portal Server 2003 SP2 или более поздней версии. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
933560 Параметр/3 GB Windows Server 2003 не поддерживается в Windows SharePoint Services 2.0 или в более поздних версиях или в SharePoint Portal Server 2003 Пакет обновления 2 или более поздних версий

Использование пользовательских компонентов

При использовании пользовательских компонентов, таких как конвейеры или компоненты службы необходимо знать, что сделать эти компоненты. Также необходимо знать потенциальные влияние этих компонентов на использование памяти. Распространенной проблемой памяти происходит, когда компонент преобразование документа. Операция преобразования — ресурсоемкая операция. При преобразовании документа, BizTalk Server передает поток сообщений Microsoft платформа.NET Framework XslTransform класс в процессе BizTalk.

Другой распространенной проблемой происходит при интенсивных строками. Интенсивное строками может использовать большой объем памяти. Дополнительные сведения о способах повышения производительности посетите следующий веб-узел Microsoft Developer Network (MSDN):

Платформа.NET Framework версии

Microsoft платформа.NET Framework 2.0 и платформа.NET Framework 1.1 имеет другое поведение. Таким образом могут появиться различные результаты между ними. Если используется платформа.NET Framework, убедитесь, что установлен последний Пакет обновления платформа.NET Framework 1. Эти пакеты обновления решить некоторые проблемы памяти. Для получения дополнительных сведений щелкните следующий номер статьи:

945757 Проблемы, исправленные в платформе .NET Framework 2.0 с пакетом обновления 1 (SP1)
867460 Список ошибок, исправленных в платформа.NET Framework 1.1 Пакет обновления 1

Число процессоров

Общеязыковая среда выполнения (CLR) состоит из следующих сборщики мусора (GC).
  • Рабочая станция (Mscorwks.dll)
  • Сервер (Mscorsvr.dll)
Если компьютер, на котором работает BizTalk Server является многопроцессорной системе, платформа.NET Framework использует серверную версию ядра выполнения. Это поведение по умолчанию. Сборщик мусора сервера предназначены для максимальной пропускной способности. Кроме того для обеспечения высокой производительности масштабирует сборщика мусора на сервере. Это сборщик мусора выделяет память и затем освобождает память для обеспечения высокой производительности системы. Таким образом компьютер, на котором выполняется BizTalk Server, а также некоторые компоненты платформа.NET Framework кажется происходит утечка памяти. Однако в этом случае использование памяти является ожидаемым поведением. Если на компьютере не хватает памяти, или если процесс прекращает работать из-за нехватки адресного пространства памяти, могут существовать условия для утечки памяти.

Если компьютер, на котором работает BizTalk Server однопроцессорной системы, платформа.NET Framework использует версию рабочей станции механизма исполнения. Это поведение по умолчанию. Алгоритм распределения сборщик мусора рабочей станции не предназначен для масштабирования и максимальной пропускной способности. Это сборщик мусора использует методы параллельной сборки мусора. Эти методы предназначены для приложений, имеющих сложные пользовательские интерфейсы. Таких приложений может потребовать более сложные сборки мусора.

Важно Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому точно выполняйте следующие действия. Для дополнительной защиты создайте резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для дополнительных сведений о способах создания резервной копии и восстановлении реестра щелкните следующий номер статьи базы знаний Майкрософт:
322756 Как провести резервное копирование и восстановление реестра Windows
В некоторых случаях может потребоваться запустить версию ядра выполнения рабочей станции в многопроцессорной системе. Следующий раздел реестра можно использовать для переключения на рабочей станции версию ядра выполнения.

BizTalk 2006 и более поздних версий

Создайте следующий раздел реестра для размещения строки списка отзыва Сертификатов с соответствующими значениями:

Размещение \CLR HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$BizTalkHostName

Имя: Конфигурация
Данные: wks

BizTalk 2004

Создайте следующий раздел реестра для размещения строки списка отзыва Сертификатов с соответствующими значениями:

Узел \CLR HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\BTSSvc {GUID}

Имя: Конфигурация
Данные: wks

Для получения дополнительных сведений посетите следующие веб-узлы Microsoft Developer Network (MSDN):

Наиболее распространенные причины и решения

Использование памяти для процесса и регулирования пороговых значений использования физической памяти

Процесс использования памяти и регулирования пороговых значений использования физической памяти может изменяться в BizTalk Server 2006 и более поздних версиях.
  • По умолчанию использование памяти процесса регулирования пороговое значение равно 25. Регулировка ситуация возможна, если это значение превышено, использование памяти для процесса BizTalk является более чем 300 МБ. На 32-разрядного сервера можно увеличить значение использования памяти процессом до 50. На 64-разрядном сервере можно увеличить данное значение 100. Это позволяет количество памяти, потребляемой процессом BizTalk перед регулировка.
  • Использование физической памяти , регулирования пороговых значений имеет значение по умолчанию 0. Этот порог измеряет общий объем системной памяти. Таким образом Если настроено значение, отличное от 0, регулирования условие может возникнуть при не BizTalk процессом памяти.
Дополнительные сведения о регулирования пороговых значений посетите следующий веб-узел Microsoft Developer Network (MSDN):

Dehydration, регулирования пороговых значений

Согласование выполняются на 64-разрядного компьютера может вызвать слишком много dehydration dehydration памяти пороговые значения по умолчанию. Дополнительные сведения об этой проблеме обратитесь разделу Свойства по умолчанию Dehydration на следующем веб-узле Microsoft Developer Network (MSDN): В BizTalk Server 2006 и более поздних версий поддерживаются узлы Примечание 64-разрядной.

На эквивалентное оборудование в экземпляре 32-разрядного компьютера наблюдаемых dehydration номинального значения при выполнении же согласование с использованием памяти dehydration по умолчанию, регулирования пороговых значений.

Поскольку 64-разрядная архитектура обеспечивает расширенному адресному пространству (16 ТБ вместо 4 ГБ), 64-разрядный экземпляров выделяется значительно больше памяти, чем 32-разрядные хост-экземпляры. Это может вызвать превышение регулирования пороги памяти по умолчанию.

Чтобы устранить эту проблему, измените значения VirtualMemoryThrottlingCriteria и PrivateMemoryThrottlingCriteria в файле BTSNTSvc64.exe.config. Process\Virtual байт и счетчики монитора производительности байт Process\Private можно используйте для определения максимальный объем памяти, выделяемый экземпляр согласование.
  • Установите значение для обоих свойств на основе следующих OptimalUsage:
    VirtualMemoryThrottlingCriteria: значение байта \Process\Virtual + 10%
    PrivateMemoryThrottlingCriteria: значение байта \Process\Private + 10%
  • Набор MaximalUsage для обоих свойств, значение OptimalUsage + 30%
Например если значение счетчика байт системного монитора для экземпляра согласование \Process\Virtual 5,784,787,695 байт (5,517 МБ), значение OptimalUsage для VirtualMemoryThrottlingCriteria для 6,069 МБ (5,784,787,695 * 1,10 = 6,363,266,464.5 байт). Значение MaximalUsage для VirtualMemoryThrottlingCriteria для 7,889 МБ (6,363,266,464.5 * 1,30 = 8,272,246,403.85 байт).

Если значение счетчика байт системного монитора \Process\Private 435689400 байт (415 МБ), задайте значение OptimalUsage для PrivateMemoryThrottlingCriteria для 457 МБ (435689400 * 1,10 = 479258340 байт). Значение MaximalUsage для PrivateMemoryThrottlingCriteria 594 МБ (479258340 * 1,30 = 623035842).

Например следующие значения может быть задано в файле BTSNTSvc64.exe.config, чтобы уменьшить регулирование.
Счетчики системного монитораПамятьOptimalUsageMaximalUsage
\Process\Virtual байт5784787695 байт (5517 МБ)60697889
\Process\Private байт435689400 байт (415 МБ)457594
Эти значения будет затем представлено в файле BTSNTSvc64.exe.config следующим образом:
<xlangs>      <Configuration>                  <Dehydration>                              <VirtualMemoryThrottlingCriteria OptimalUsage="6069" MaximalUsage="7889" IsActive="true" />                              <PrivateMemoryThrottlingCriteria OptimalUsage="457" MaximalUsage="594" IsActive="true" />                  </Dehydration>      </Configuration></xlangs>
Чтобы определить, какой экземпляр узла выполняется согласование, можно сопоставить идентификатор процесса из процесса \BizTalk:Messaging\ID и \Process\ID счетчики монитора производительности процесса. Проверьте отображение для соответствующего \Process\Virtual байтов и счетчики монитора производительности байт \Process\Private среднее значение.

Примечание Высокой dehydration может привести к значительному снижению производительности при запуске BizTalkMsgBoxDb базы данных в SQL Server 2008.

Накопительные пакеты обновления и пакеты обновления для BizTalk Server

Накопительные пакеты обновления и пакеты обновления для BizTalk Server содержат последние исправления. К ним относятся те, которые влияют на известные проблемы System.OutOfMemoryException.

2281783 Пакет обновления и накопительное обновление списка для BizTalk Server 2006 R2

Microsoft BizTalk Server 2004 г. Пакет обновления 2

HeapDeCommitFreeBlockThreshold

По умолчанию значение раздела реестра theHeapDeCommitFreeBlockThreshold равно 0. Значение 0 означает, что диспетчер кучи снимает выделение каждую страницу 4 килобайт (КБ), которая становится доступной. Снимает выделение операций может привести к фрагментации виртуальной памяти. Размер параметра HeapDeCommitFreeBlockThreshold в диспетчер кучи будет зависеть от типа работы, которая делает система. Размер 0x00040000 является рекомендуемым начальное значение.

Рассмотрим следующую информацию, прежде чем изменять значение
HeapDeCommitFreeBlockThreshold
раздел реестра:
  • Это изменение относится только к fragmentationproblems памяти.
  • Это изменение всей системы. Таким образом большинство процессов willuse больший объем памяти при запуске.
  • Только с учетом этого изменения для систем, имеющих BizTalkServer как их основной задачей.
Для уменьшения фрагментации виртуальной памяти, можно увеличить размер параметр HeapDeCommitFreeBlockThreshold в диспетчер кучи, изменив значение следующего раздела реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager


Имя параметра: HeapDeCommitFreeBlockThreshold
Тип значения: REG_DWORD
Значение: 0x00040000 (Это рекомендуемое начальное значение).
Значение по умолчанию: отсутствует.
Дополнительные сведения о HeapDeCommitFreeBlockThreshold реестра щелкните следующий номер статьи базы знаний Майкрософт:
315407 Раздел реестра «HeapDecommitFreeBlockThreshold»

Операции преобразования

Когда BizTalk Server выполняет операции преобразования XML на довольно большие сообщения в порту приема в порту отправки или в XLANG, XSL преобразует Загрузите сообщение целиком в памяти.

Чтобы устранить эту проблему, используйте один из следующих методов:
  • В то же время для уменьшения количества сообщений, BizTalk Serverprocesses.
  • Уменьшите размер сообщения XML, beingtransformed.
Объект System.Policy.Security.Evidence часто используются в преобразований и могут занимать значительный объем памяти. Если карта содержит функтоиде сценариев, использующий встроенные C# (или любой другой встроенный язык), сборка создается в памяти. Объект System.Policy.Security.Evidence использует объект фактических вызывающей сборки. Эта ситуация создает корневой объект, который не удаляется до перезапуска службы BizTalk.

Большинство функтоидов BizTalk по умолчанию реализованы как встроенный сценарий. Эти элементы могут вызвать System.Byte [] объектов для сбора в памяти. Чтобы свести к минимуму потребление памяти, рекомендуется поместить любую карту, использующий эти функтоидов небольшие сборки. Затем ссылки на эту сборку.Использовать следующие диаграмму, чтобы определить, какие функтоидов использовать встроенный сценарий и какие функтоидов следует использовать встроенный сценарий.

Во втором столбце «Да» означает, что этом функтоиде ведет счет реализован как встроенный сценарий, и это вызовет System.Byte [] объектов для сбора в памяти. «Нет» означает, что этом функтоиде ведет счет не реализованы как встроенный сценарий и что не будет собирать в памяти объекты System.Byte [].
ФунктоидовВстроенный сценарий?
Все строки функтоидовДа
Все математические функтоидовДа
Все логические функтоидов, за исключением IsNilДа
Логические функтоиде IsNilНет
Все даты и времени функтоидовДа
Все преобразования функтоидовДа
Все научные функтоидовДа
Все накопительные функтоидовДа
Все базы данных функтоидовНет
Расширенный функтоидовВстроенный сценарий?
Функтоиде цикловНет
Значение сопоставления функтоиде обработки прозрачностиНет
Утверждение функтоидеНет
Средство извлечения функтоиде таблицыНет
Таблица функтоиде цикловНет
Функтоиде сценариев встроенный C#Да
С JScript.NET встроенного сценарияДа
Функтоиде сценариев с помощью встроенного Visual Basic .NETДа
Функтоиде сценариев с помощью встроенного XSLTНет
Функтоиде сценариев с помощью шаблона вызов встроенного XSLTНет
Вызов внешней сборке функтоиде сценариевНет
Нулевое значение функтоидеНет
Значение сопоставления функтоидеНет
Функтоиде массового копированияНет
Функтоиде итерацииНет
Индекс функтоидеНет
Число записей функтоидеНет
BizTalk Server 2006 и более поздних версий значительно улучшить управление памятью для больших документов. Чтобы сделать это, BizTalk Server реализует настраиваемое сообщение пороговое значение размера для загрузки документов в память во время операций преобразования. Пороговое значение размера сообщения по умолчанию равен 1 МБ. Дополнительные сведения о параметре TransformThreshold посетите следующий веб-узел Microsoft Developer Network (MSDN):

Атрибут больших значений и большой элемент

Когда BizTalk Server выполняет конвейера приема или отправки конвейера в XML-документ, если документ содержит один или несколько из следующих сущностей, полезных данных обрабатывается в памяти:
  • Атрибут больших значений
  • Значения большого элемента
  • Большой теги атрибута или элемента
Чтобы устранить эту проблему, необходимо Ограничьте размер этих сущностей. Если этот метод не поддерживается, убедитесь, что экземпляр узла BizTalk не будет обрабатывать подобные одновременно несколько документов.

Настраиваемые компоненты процесса продаж

Использование настраиваемого компонента процесса продаж, загружает в память весь поток. Все компоненты, входящие в BizTalk Server, за исключением преобразования, поддерживают потоковую передачу. Эти компоненты не используют столько памяти во время потоковой передачи. Однако настраиваемые компоненты процесса продаж могут не поддерживать потоковую передачу.

Потоковая передача при высоких нагрузках

Отправка узлов недостаточно памяти при их работы под большой нагрузкой. BizTalk Server отправлять конвейеры и отправить адаптеры поддержка потоковой передачи. В потоковом, каждый компонент загружает в память небольшой фрагмент потока. Поскольку каждое сообщение содержит другие структуры данных, а также контекста сообщения, которое может быть большой или маленькой, это влияет на поведение BizTalk Server под большой нагрузкой.

Ряд предварительно настроенных сообщений загружает ядро связано поведение BizTalk Server. Количество сообщений, загружает ядро основана на значения, которые отображаются в поле LowWaterMark и поле HighWaterMark в таблице Adm_serviceClass. Adm_serviceClass таблица находится в базе данных управления BizTalk. Эти значения определяют число сообщений BizTalk Server обрабатывает и отправляет в то же время.

Значение HighWaterMark — общее количество сообщений, которые обработчик обрабатывает одновременно. Значение по умолчанию — 200 сообщений на один ЦП. Таким образом 8-процессорных сервера, узел отправки будет пытаться обрабатывать одновременно 1,600 сообщений (200 * 8). Если предположить, что каждое сообщение является 50 КБ, сообщения равна 80 МБ (1, 600 * 50 = 80 000 КБ).

Чтобы устранить эту проблему, можно изменить значение HighWaterMark и значение LowWaterMark в базе данных. Значения, которые используются зависят от размера сообщений.

Дополнительные сведения о типичных причинах условия нехватки памяти обратитесь к разделу «Увеличение памяти в BizTalk сообщение» на веб-узел Майкрософт:BizTalk Server 2006 и более поздних версий можно изменить регулирование параметров узла по умолчанию. Дополнительные сведения об изменении регулирования параметры узла по умолчанию посетите следующий веб-узел Microsoft Developer Network (MSDN):

Попытайтесь упростить проблемы

Если обнаружена утечка памяти, попробуйте определить причину путем удаления пользовательских компонентов или упрощая карту. Кроме того попробуйте воспроизвести проблему с помощью простого согласование или простого решения. Как правило, следует создать отдельный получить узлы для получения адаптеров. Следует также создать отправки отдельных узлов для отправки сетевых адаптеров. При использовании этого способа каждый адаптер можно запустить в отдельном процессе. Таким образом Если процесс BizTalk Server возникают условия нехватки памяти, вы будете знать, какие компоненты включены.

Действия по устранению неполадок

Для устранения условий нехватки памяти, использование средства диагностики, отладки для отслеживания выделения памяти со временем. Отладка диагностики можно создать и проанализировать файл дампа (.dmp) утечки памяти. При устранении утечки памяти, цель — присоединить Leaktrack.dll воспроизводит условия высокой памяти для записи рост памяти. Leaktrack.dll входит в состав средства отладки диагностики.
  1. Установите средство диагностики отладки.

    Следующий файл доступен для загрузки из Центра загрузки Майкрософт:

    ЗагрузитьЗагрузите пакет диагностического средства отладки.

    Для получения дополнительных сведений о том, как загрузить файлы поддержки Майкрософт, щелкните следующий номер статьи базы знаний Майкрософт:
    119591 Как загрузить файлы поддержки Microsoft через оперативные службы
    Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последние антивирусные программы на дату, которая была учтена в файл. Файл хранится на защищенных серверах, что предотвращает внесение несанкционированных изменений в файл.
  2. Использование монитора производительности для сбора данных о systemperformance. Эти данные могут предоставить важные показатели об эффективности ofyour среды BizTalk Server. Цель-захватить performanceover время. Таким образом включите ведение журнала системного монитора перед leakoccurs памяти.

Использование монитора производительности ведения журнала

Выберите данные для входа
Чтобы выбрать данные для входа, используйте метод, подходящий для вашей операционной системы:
  • Для Windows Server 2008 и Windows Server 2008 R2
    1. В окне Администрирование откройте монитор производительности и стабильности.
    2. Щелкните правой кнопкой мыши Системный монитор, нажмите кнопку Создать и выберите Группу сборщиков данных.
    3. В поле имя введите описательное имя и нажмите кнопку Далее.
    4. Обратите внимание, в корневой каталог и нажмите кнопку Далее.
    5. Нажмите кнопку Запустить группу сборщиков данных сейчаси нажмите кнопку Готово.
    6. Разверните группы Сборщиков данных, определенные Пользователем , а затем выберите файл.
    7. Щелкните правой кнопкой мыши Журнал системного монитораи выберите команду Свойства.
    8. Выберите команду Добавить на вкладку Счетчики производительности следующие объекты и нажмите кнопку Добавить после выбора каждого объекта:
      • Исключения CLR .net
      • Память CLR .net
      • BizTalk: системы обмена сообщениями
      • BizTalk:TDDS
      • Память
      • Процесс
      • Процессор
      • Согласование XLANG/s
      При локальном SQL Server также добавьте следующие объекты:
      • SQLServer:Databases
      • SQLServer: Общая статистика
      • Диспетчер SQLServer:Memory
    9. Нажмите кнопку ОК.
    10. Введите значение интервала в 5 секунд.

      Примечание Значение интервала и время начала для мониторинга — это субъективная. Эти значения зависят от того, когда воспроизводится утечки памяти. Так как файл журнала может быть большим, укажите интервал, в котором можно получить информацию, необходимо иметь не забрасывая на сервере.
    11. Нажмите кнопку ОК.
    Чтобы остановить сбор данных, в меню Действие нажмите кнопку Остановить .
  • Для Windows Server 2003 или Windows XP
    1. Разверните узел Журналы и оповещения производительности.
    2. Щелкните правой кнопкой мыши Журналы счетчикови выберите Новые параметры журнала. Откроется диалоговое окно Новые параметры журнала .
    3. В поле имя введите описательное имя и нажмите кнопку ОК.
    4. Обратите внимание, в файл журнала. (Можно также на вкладке Файлы журнала и нажмите кнопку Настройка , чтобы изменить расположение файла журнала.)
    5. Нажмите кнопку Добавить счетчики.
    6. Выберите все счетчики и все экземпляры.
    7. В списке объект выберите следующие объекты. После выбора каждого объекта, нажмите кнопку Добавить .
      • Исключения CLR .net
      • Память CLR .net
      • BizTalk: системы обмена сообщениями
      • BizTalk:TDDS
      • Память
      • Процесс
      • Процессор
      • Согласование XLANG/s
      При локальном SQL Server также добавьте следующие объекты:
      • SQLServer:Databases
      • SQLServer: Общая статистика
      • Диспетчер SQLServer:Memory
    8. Нажмите кнопку Закрыть.
    9. Измените значение в Интервале выборки данных на 5 секунд.

      Примечание Значение интервала выборки данных и время начала для мониторинга — это субъективная. Эти значения зависят от того, когда воспроизводится утечки памяти. Так как файл журнала может быть большим, укажите интервал, в котором можно получить информацию, необходимо иметь не забрасывая на сервере.
    10. Нажмите кнопку ОК.
    Чтобы остановить сбор данных, щелкните правой кнопкой мыши имя журнала счетчиков и нажмите кнопку Стоп.
Получить файл дампа памяти
Чтобы получить файл дампа памяти, используйте один из следующих методов:
  • Метод 1: автоматическая
    Создание правила памяти и обработки утечки с DebugDiag подход является рекомендуемым для захвата дампа памяти. Память и утечка обработки правила автоматически присоединяет Leaktrack.dll. Используется для отслеживания выделения памяти. Чтобы создать правило памяти и обработки утечки, выполните следующие действия.
    1. Запустите средство диагностики отладки 1.1.
    2. Выберите память и утечка обработкии нажмите кнопку Далее.
    3. Выберите процесс Btsntsvc.exe и нажмите кнопку Далее.
    4. На странице Настройка правила утечек памяти выполните следующие действия.
      1. Установите флажок запускать памяти сразу после активации правила . В противном случае можно указать на время прогрева до введения LeakTrack.dll в процессе BTSNTSvc.exe.
      2. Нажмите кнопку Настройка, а затем выполните следующее:
        • Убедитесь, что Автоматическое создание правила сбоя установлен. При выборе этого параметра, дамп памяти будет создан автоматически при остановке процесса BTSNTSvc.exe.
        • Установите флажок создавать userdump, когда достигают байт виртуальной памяти и оставьте значение по умолчанию 1024.
        • Установите флажок и каждый дополнительный и оставьте по умолчанию 200.
        Выбрав байт виртуальной памяти достигает параметр, дамп памяти будет создан автоматически при байт виртуальной памяти использует 1024 МБ. Если байт виртуальной памяти увеличивается на 200 МБ, другой дамп памяти будет создан автоматически.
      3. Нажмите кнопку Сохранить & закрыть.
      4. Нажмите кнопку Далее.
    5. На странице выберите дампа расположение и имя правила нажмите кнопку Далее.

      Примечание Также можно изменить путь к файлу дампа в поле Расположение Userdump на этой странице.
    6. Нажмите кнопку Готово, чтобы сделать правило активно сейчас.
    Примечание Статус правила теперь отслеживания. Каждый раз создается дамп памяти, увеличьте значение в столбце число Userdump на вкладке правила. Местоположение дампа памяти по умолчанию — C:\Program Files\DebugDiag\Logs.
  • Способ 2: руководство
    Можно также вручную присоединить Leaktrack.dll и получить файл дампа памяти вручную. Это позволяет элементу управления при создании дампа памяти. Чтобы сделать это, выполните следующие действия.
    1. Запустите средство диагностики отладки 1.1.
    2. Перейдите на вкладку Процессы.
    3. Щелкните правой кнопкой мыши процесс Btsntsvc.exe и нажмите кнопку Монитора для утечки.
    4. Нажмите кнопку Дав диалоговом окне Отладка диагностики и нажмите кнопку ОК.
    Создайте правило для наблюдения за один и тот же процесс Btsntsvc.exe в случае, если процесс останавливается до создания дампа памяти после сбоя:
    1. Запустите средство диагностики отладки 1.1.
    2. Выберите аварийное завершение работыи нажмите кнопку Далее.
    3. Выбор конкретного процесса, а затем нажмите кнопку Далее.
    4. Выберите один и тот же процесс Btsntsvc.exe и нажмите кнопку Далее.
    5. На странице Расширенной настройки (необязательно) нажмите кнопку Далее.
    6. В диалоговом окне Выберите дампа расположение и имя правила (необязательно) нажмите кнопку Далее.
    7. Выберите Активировать сейчас правилои нажмите кнопку Готово.
    Когда процесс достигает 60 до 80 процентов оперативной памяти, щелкните правой кнопкой мыши процесс Btsntsvc.exe и нажмите кнопку Создать полный Userdump. Если процесс BizTalk останавливается перед созданием пользовательского дампа, сбой правила следует вступают в силу и создания дампа памяти.
Остановить ведение журнала системного монитора
При записи дампа памяти и данных системного монитора, остановите около двух минут после создания дампа памяти, ведение журнала системного монитора.
Анализ файла дампа памяти
Чтобы помочь определить причину утечку памяти, можно использовать средство диагностики, отладки для анализа файла дампа памяти. Чтобы сделать это, выполните следующие действия.
  1. Перейдите на вкладку Дополнительно анализа.
  2. Щелкните Добавить файлы данных, а затем найдите файл the.dmp.
  3. Выберите сценарий Анализа нехватки памятии нажмите кнопку Начать анализ.
По умолчанию файл отчета по анализу (.mht) будет создан в папке C:\Program Files\DebugDiag\Reports, после завершения анализа. Файл отчета будет также отображается в браузере. Файл отчета с результатами анализа. Кроме того файл отчета может содержать рекомендации по решению утечки памяти.

Если используются пользовательские библиотеки DLL, можно добавить путь к символам из пользовательских PDB-файлы для анализа. Чтобы сделать это, выполните следующие действия.
  1. Откройте средство диагностики, отладки.
  2. В меню Сервис щелкните Параметры Optionsand.
  3. Введите путь в поле Путь символ поиска для отладки.
Анализ файла дампа справки, обратитесь службу поддержки пользователей Майкрософт. Полный список телефонов службы поддержки клиентов и сведения о стоимости поддержки посетите следующий веб-узел корпорации Майкрософт: Прежде чем обращаться в службу поддержки пользователей, сжатие файла дампа, журнала системного монитора, файл отчета по анализу и обновленных журналов событий (.evt файлов). Может потребоваться отправить эти файлы для BizTalk Server поддерживает инженер.

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 918643 — последний просмотр: 01/30/2014 10:04:00 — редакция: 7.0

Microsoft BizTalk Server Branch 2010, Microsoft BizTalk Server Developer 2010, Microsoft BizTalk Server Enterprise 2010, Microsoft BizTalk Server Standard 2010, Microsoft BizTalk Server 2009 Branch, Microsoft BizTalk Server 2009 Developer, Microsoft BizTalk Server 2009 Enterprise, Microsoft BizTalk Server 2009 Standard, Microsoft BizTalk Server 2006 R2 Branch, Microsoft BizTalk Server 2006 R2 Developer Edition, Microsoft BizTalk Server 2006 R2 Enterprise Edition, Microsoft BizTalk Server 2006 R2 Standard Edition, Microsoft BizTalk Server 2006 Enterprise Edition, Microsoft BizTalk Server 2006 Developer Edition, Microsoft BizTalk Server 2006 Standard Edition, Microsoft BizTalk Server 2004 Enterprise Edition, Microsoft BizTalk Server 2004 Developer Edition, Microsoft BizTalk Server 2004 Partner Edition, Microsoft BizTalk Server 2004 Standard Edition

  • kbhowto kbmt KB918643 KbMtru
Отзывы и предложения