Cómo solucionar problemas de una pérdida de memoria o una excepción de la memoria en el proceso de BizTalk Server

Seleccione idioma Seleccione idioma
Id. de artículo: 918643 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Pérdidas de memoria son un problema común. Quizás tenga que probar varios pasos para encontrar la causa específica de una pérdida de memoria o una excepción de memoria insuficiente (OOM) en Microsoft BizTalk Server. Este artículo analiza las cosas importantes a tener en cuenta al evaluar el uso de memoria y problemas relacionados con la memoria. Estas consideraciones incluyen lo siguiente:
  • Memoria RAM física
  • Procesamiento de mensajes grandes
  • Uso de la / 3 GB Modificador
  • Uso de componentes personalizados
  • La versión de Microsoft.NET Framework que se está ejecutando el sistema
  • El número de procesadores

INTRODUCCIÓN

Este artículo describe cómo solucionar problemas de una pérdida de memoria o una excepción de la memoria en el proceso de BizTalk Server de Microsoft BizTalk Servidor.

Más información

El proceso de BizTalk Server puede estar experimentando una pérdida de memoria Cuando el uso de memoria en el Administrador de tareas de Microsoft Windows consume más de 50 porcentaje de la RAM física. Una pérdida de memoria puede provocar una excepción de la memoria Cuando el uso de memoria aumenta hasta que se ejecuta el proceso de la memoria del sistema o hasta que el proceso deja de funcionar.

Cuando se produce este problema, un mensaje de advertencia similar el siguiente mensaje de error se registra en el registro de sucesos:

Evento Tipo: advertencia
Categoría del suceso: (1)
ID. de suceso: 5410
Descripción: Un error que requiere el servicio de BizTalk para terminar. Las causas más comunes son inesperado de error de memoria y la incapacidad de conectar o una pérdida de conectividad a una de las bases de datos de BizTalk. El servicio se cerrará y reiniciará automáticamente en 1 minuto. Si la base de datos problemático sigue sin estar disponible, se repetirá este ciclo.
Mensaje de error: excepción de tipo Se ha producido System.OutOfMemoryException.
Origen del error:
Host de BizTalk nombre: AplicaciónBizTalkServer
Nombre de servicio de Windows: BTSSvc {DCC899FE-C62F-41BE-851A-8720B2EB9C14}

Tipo de suceso: advertencia
Categoría del suceso: (1)
ID. de suceso: 5410
Descripción: Ocurrió un error que requiere el servicio de BizTalk para terminar. Las causas más comunes son los siguientes: 1) un error de memoria insuficiente inesperado. O 2) la incapacidad de conectar o una pérdida de conectividad a una de las bases de datos de BizTalk. El servicio se cerrará y reiniciará automáticamente en 1 minuto. Si la base de datos problemático sigue sin estar disponible, se repetirá este ciclo.
Mensaje de error: excepción de tipo 'System.OutOfMemoryException' se ha producido.
Origen del error: mscorlib
Nombre de host de BizTalk: AplicaciónBizTalkServer
Nombre de servicio de Windows: BTSSvc$ AplicaciónBizTalkServer

Consideraciones importantes

Uso de memoria RAM y la memoria física

Dado que puede ser el comportamiento esperado de un proceso utilizar aproximadamente la mitad de la RAM física, utilice el uso de memoria como una guía. Por ejemplo, si el BizTalk Server tiene 4 gigabytes (GB) de RAM y el proceso de BizTalk Server utiliza aproximadamente 500 megabytes (MB) de RAM, no habrá pérdida. Si el proceso de BizTalk Server utiliza aproximadamente 1 GB de RAM, puede que haya una pérdida de memoria o una situación de memoria alta. El consumo de memoria puede deberse a un procedimiento almacenado de larga ejecución o la orquestación. Asegúrese de que sabe cuánta memoria del host de BizTalk se utiliza normalmente para determinar si se está produciendo una pérdida de memoria o la condición de memoria alta.

Mensajes de gran tamaño

Cuando BizTalk Server procesa los mensajes de gran tamaño, el sistema parece tener una pérdida de memoria. Sin embargo, los mensajes pueden utilizar una gran cantidad de memoria. Para obtener más información acerca de los mensajes grandes, visite los siguientes sitios Web de 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

Además, tenga en cuenta que puede esperarse mucha memoria si BizTalk Servidor está procesando los mensajes grandes. Desea actualizar el hardware para cumplir los requisitos de rendimiento de BizTalk Server en su entorno.

¿Cuánto tiempo tarda en reproducir la pérdida de memoria

Pueden producirse pérdidas de memoria inmediatamente o pueden acumularse a través de tiempo. Ambos escenarios son comunes.

Uso del modificador/3 GB en los equipos de 32 bits

Normalmente, un proceso puede tener acceso a 2 GB de espacio de direcciones virtuales. El modificador/3 GB es una opción para los sistemas que requieren más memoria direccionable. Esta opción puede mejorar el uso de memoria para procesar los mensajes. Sin embargo, el modificador/3 GB permite sólo 1 GB de memoria direccionable para operaciones en modo kernel. Además, este modificador puede aumentar el riesgo de quedarse sin memoria de grupo.

Para obtener más información acerca de los 3 GB , visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.Microsoft.com/en-us/library/ms791558.aspx
Cuando está habilitado el modificador/3 GB en una versión de 32 bits de Windows, el proceso puede tener acceso a 3 GB de direcciones virtuales espacio si el proceso es grande dirección tenga en cuenta. Un proceso es grande dirección tenga en cuenta cuando el archivo ejecutable tiene establecido el indicador IMAGE_FILE_LARGE_ADDRESS_AWARE activado en el encabezado de imagen. Debido a que el proceso de BizTalk es grande dirección consciente, BizTalk se beneficiará el modificador/3 GB.

Si se está ejecutando una instancia de host de BizTalk de 32 bits en una versión de 64 bits de Windows (AMD64), las ventajas del proceso de BizTalk desde la memoria de 4 GB dirección espacio porque BizTalk es grande dirección tenga en cuenta. Por lo tanto, el traslado de las aplicaciones de memoria alta a un servidor de 64 bits puede ser la mejor solución.

Un proceso de BizTalk de 64 bits en una versión de 64 bits de Windows (AMD64) con 8 TB de memoria direccionable.

También debe considerar los bytes virtuales y los bytes privados utilizados por el proceso. Una instancia de host de BizTalk (que es un.Aplicación de NET Framework) puede aparecer un error de memoria insuficiente antes de que el valor de Bytes virtuales alcance los 2 GB. Esto puede ocurrir incluso aunque el máximo de memoria direccionable por un proceso en una versión de 32 bits de Windows (sin el modificador/3 GB ) es de 2 GB. Para obtener una explicación de por qué esto puede ocurrir, visite los siguientes sitios Web de Microsoft Developer Network (MSDN):
http://msdn.Microsoft.com/en-us/library/ms972959.aspx
http://blogs.msdn.com/tess/archive/2005/11/25/496898.aspx
El modificador/3 GB también aumenta el número máximo de bytes privado del proceso de BizTalk de 800 MB a 1800 MB. Para obtener más información acerca de.Rendimiento de la aplicación de NET Framework con el modificador/3 GB habilitado, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/ms998583.aspx
En la tabla siguiente se resume esta información e incluye los límites prácticos para virtuales bytes y privada.
Contraer esta tablaAmpliar esta tabla
ProcesoWindowsMemoria direccionable (con un proceso tenga en cuenta la dirección de gran tamaño)Límite práctico de bytes virtualesLímite práctico de bytes privados
32-bit32-bit2 GB1400 MB800 MB
32-bit32 bits con 3 GB3 GB2400 MB1800 MB
32-bit64 bits4 GBMB 34002800 MB
64 bits64 bits8 TBNo es aplicableNo es aplicable
Para obtener más información acerca de la memoria direccionable de 32 bits frente a Windows de 64 bits, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.Microsoft.com/en-us/library/aa366778.aspx
La tabla siguiente muestra la capacidad de soporte PAE y/3 GB para las distintas versiones de BizTalk Server.
Contraer esta tablaAmpliar esta tabla
ProductoPAE3 GB
BizTalk Server 2004No
BizTalk Server 2006
BizTalk Server 2006 R2
BizTalk Server de 2009
Si se debe habilitar el modificador/3 GB cumplir los requisitos de rendimiento de un equipo que está ejecución de BizTalk Server, debe considerar la adición de servidores para el grupo de BizTalk. Esto le permite escalar las instancias de host de memoria intensiva.

Componentes de BizTalk Puede que se ejecutan dentro de un proceso de servicios de Internet Information Server (IIS) También se benefician cuando está habilitado el modificador/3 GB .

El modificador/3 GB no se admite en equipos que ejecutan Windows SharePoint Services 2.0 o versiones posteriores o SharePoint Portal Server 2003 Service Pack 2 o versiones posteriores. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
933560No se admite el modificador/3 GB de Windows Server 2003 en Windows SharePoint Services 2.0 o en versiones posteriores o en SharePoint Portal Server 2003 Service Pack 2 o en versiones posteriores

Uso de componentes personalizados

Si utiliza componentes personalizados, como las tuberías o componentes de servicio, debe saber lo que hacer estos componentes. También debe conocer el efecto potencial de estos componentes en el uso de memoria. A problema de memoria común se produce cuando un componente es transformar un documento. El operación de transformación es una operación de memoria intensiva. Cuando es un documento transforma, BizTalk Server pasa la secuencia de mensajes de Microsoft.NET Clase XslTransform de marco dentro del proceso de BizTalk.

Otro problema común se produce cuando hay manipulación de cadenas intensivo. Cadena intensivo manipulación puede consumir mucha memoria. Para obtener más información acerca de formas mejorar el rendimiento, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/ms998547

Versión de la.NET Framework

El Microsoft.NET Framework 2.0 y el.NET Framework 1.1 tiene comportamiento de memoria diferente. Por lo tanto, puede ver diversos resultados entre ellos. Si está utilizando el.NET Framework, confirme que la última.NET Framework Service Pack 1 está instalado. Estos service Pack solucionan algunos problemas de memoria conocidos. Para obtener más información, haga clic en los números de artículo siguiente:

945757 Problemas corregidos en el.NET Framework 2.0 Service Pack 1
867460 Lista de errores corregidos en el.NET Framework 1.1 Service Pack 1

Número de procesadores

Common language runtime (CLR) tiene la siguiente basura colectores (GC):
  • Estación de trabajo (Mscorwks.dll)
  • Servidor (Mscorsvr.dll)
Si el equipo que ejecuta BizTalk Server es un sistema multiprocesador, el.NET Framework utiliza la versión del servidor del motor de ejecución. Éste es el comportamiento predeterminado. El recolector de elementos no utilizados de servidor está diseñado para un rendimiento óptimo. Además, el recolector de elementos no utilizados de servidor se escala para ofrecer un rendimiento muy alto. Este selector de elementos no utilizados asigna memoria y, a continuación, más adelante se libera memoria para proporcionar un alto rendimiento en el sistema. Por lo tanto, un equipo que ejecuta BizTalk Server junto con algunos.NET Framework components parece tener una pérdida de memoria. Sin embargo, en este escenario, el uso de memoria alta es el comportamiento esperado. Si el equipo se queda sin memoria del sistema, o si el proceso deja de funcionar debido a insuficiente memoria direccionable, puede que exista una condición de pérdida de memoria.

Si el equipo es decir la ejecución de BizTalk Server es un sistema de procesador único, el.NET Framework utiliza la versión de la estación de trabajo del motor de ejecución. Éste es el predeterminado comportamiento. El algoritmo de asignación del recolector de elementos no utilizados de estación de trabajo no es diseñado para escalar o para un rendimiento óptimo. Utiliza este recolector de elementos no utilizados métodos de simultáneas recolector de elementos no utilizados. Estos métodos están diseñados para aplicaciones que tienen interfaces de usuario complejas. Tales aplicaciones pueden requerir más rigurosa recolección.

Importante Esta sección, el método o la tarea contiene pasos que le indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica incorrectamente el registro. Por lo tanto, asegúrese de que sigue estos pasos cuidadosamente. Para una mayor protección, copia de seguridad del registro antes de modificarlo. A continuación, puede restaurar el registro si surge algún problema. Para obtener más información acerca de cómo hacer copia de seguridad y restaurar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Cómo hacer copia de seguridad y restaurar el registro de Windows
A veces, puede ser apropiado ejecutar la versión de la estación de trabajo del motor de ejecución en un sistema multiprocesador. Puede utilizar la siguiente clave del registro para cambiar a la versión de la estación de trabajo del motor de ejecución.

BizTalk 2006 y versiones posteriores

Cree la siguiente clave del registro de cadena de alojamiento de CRL con los valores correspondientes:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$BizTalkHostName\CLR alojamiento

Nombre: sabor
Datos: wks

BizTalk 2004

Cree la siguiente clave del registro de cadena de alojamiento de CRL con los valores correspondientes:

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

Nombre: sabor
Datos: wks

Para obtener más información, visite los siguientes sitios Web de 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

Las resoluciones y las causas comunes

Uso de memoria de proceso y umbrales de limitación de uso de memoria física

El uso de memoria de proceso y el uso de memoria física umbrales de limitación pueden cambiarse en BizTalk Server 2006 y en versiones posteriores.
  • De forma predeterminada, el Uso de memoria de proceso regulación del umbral está establecido en 25. Si se supera este valor y el uso de memoria de proceso de BizTalk tiene más de 300 MB, puede producirse una condición de limitación. En un servidor de 32 bits, puede aumentar el valor de uso de memoria de proceso a 50. En un servidor de 64 bits, puede aumentar este valor a 100. Esto permite para el consumo de memoria más por el proceso de BizTalk antes de límite.
  • El Uso de memoria física umbral de velocidad moderada tiene un valor predeterminado de 0. Este umbral mide la memoria total del sistema. Por lo tanto, si se configura un valor distinto de 0, una condición de limitación puede producirse si un proceso de BizTalk no está utilizando memoria alta.
Para obtener más información acerca de los umbrales de limitación, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.Microsoft.com/en-us/library/aa559628.aspx

Umbrales de limitación de deshidratación

Los umbrales de deshidratación de memoria predeterminada pueden provocar demasiada deshidratación cuando orquestación se ejecuta en un host de 64 bits. Para obtener más información acerca de este problema, vea el tema de Las propiedades predeterminadas de deshidratación en el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.Microsoft.com/en-us/library/aa560586.aspx
Nota los hosts de 64 bits se admiten en BizTalk Server 2006 y versiones posteriores.

En el hardware equivalente en una instancia de host de 32 bits, deshidratación observado es nominal cuando las orquestaciones del mismas se ejecutan mediante el uso de la deshidratación de memoria predeterminada umbrales de limitación.

Debido a que la arquitectura de 64 bits proporciona el espacio de direcciones de memoria expandida (16 TB en lugar de 4 GB), las instancias de host de 64 bits se asignan significativamente más memoria que las instancias de host de 32 bits. Esto puede hacer que los umbrales de limitación de memoria predeterminada que se supere.

Para evitar este comportamiento, cambie los valores VirtualMemoryThrottlingCriteria y PrivateMemoryThrottlingCriteria en el archivo BTSNTSvc64.exe.config. Utilice el indicador Proceso\Bytes de Bytes y los contadores del Monitor de rendimiento de Bytes de Proceso\Bytes para determinar la mayor cantidad de memoria asignada por una instancia de orquestación.
  • Establezca el valor de OptimalUsage para ambas propiedades basándose en lo siguiente:
    VirtualMemoryThrottlingCriteria: valor de Bytes de \Process\Virtual + 10 %
    PrivateMemoryThrottlingCriteria: valor de Bytes de \Process\Private + 10 %
  • Establecer MaximalUsage para ambas propiedades para el valor de OptimalUsage + 30 %
Por ejemplo, si el valor de contador de Monitor de rendimiento de Bytes de una instancia de orquestación de \Process\Virtual es 5,784,787,695 bytes (5,517 MB), establezca el valor de OptimalUsage para VirtualMemoryThrottlingCriteria a 6,069 MB (5,784,787,695 * 1.10 = 6,363,266,464.5 bytes). Establezca el valor de MaximalUsage para VirtualMemoryThrottlingCriteria a 7,889 MB (6,363,266,464.5 * 1,30 = 8,272,246,403.85 bytes).

Si el valor del contador de Monitor de rendimiento de Bytes de \Process\Private es 435689400 bytes (415 MB), establezca el valor de OptimalUsage para PrivateMemoryThrottlingCriteria a 457 MB (435689400 * 1.10 = 479258340 bytes). Establezca el valor de MaximalUsage de PrivateMemoryThrottlingCriteria MB 594 (479258340 * 1,30 = 623035842).

En este ejemplo, se especifica en el archivo BTSNTSvc64.exe.config para reducir el límite de los siguientes valores.
Contraer esta tablaAmpliar esta tabla
Contador del Monitor de rendimientoMemoria asignadaOptimalUsageMaximalUsage
\Process\Virtual bytes5784787695 bytes (5517 MB)60697889
\Process\Private bytes435689400 bytes (415 MB)457594
Estos valores, a continuación, se representa en el archivo BTSNTSvc64.exe.config como sigue:
<xlangs>
      <Configuration>
                  <Dehydration>
                              <VirtualMemoryThrottlingCriteria OptimalUsage="6069" MaximalUsage="7889" IsActive="true" />
                              <PrivateMemoryThrottlingCriteria OptimalUsage="457" MaximalUsage="594" IsActive="true" />
                  </Dehydration>
      </Configuration>
</xlangs>
Para determinar qué instancia de host se está ejecutando la orquestación, puede coincidir con el ID de proceso desde el proceso de \BizTalk:Messaging\ID y contadores del Monitor de rendimiento de proceso de \Process\ID. A continuación, compruebe el valor medio que se muestra para el correspondiente \Process\Virtual Bytes y los contadores del Monitor de rendimiento de Bytes \Process\Private.

Nota La deshidratación alta puede provocar una disminución significativa del rendimiento cuando se ejecuta la base de datos de datos de BizTalkMsgBoxDb de SQL Server de 2008.

BizTalk Server Service Packs y actualizaciones acumulativas

BizTalk Server service packs y actualizaciones acumulativas incluyen las revisiones más recientes. Éstos incluyen los que afectan a los problemas conocidos de System.OutOfMemoryException.

2281783 Lista Service Pack o actualización acumulativa de BizTalk Server 2006 R2

2004 Service Pack 2 de Microsoft BizTalk Server

HeapDeCommitFreeBlockThreshold

De forma predeterminada, el valor de la clave del registro theHeapDeCommitFreeBlockThreshold es 0. El valor 0 significa el montón Administrador libera cada página de 4 kilobytes (KB) que pasa a estar disponible. Anulación de registro las operaciones pueden causar la fragmentación de memoria virtual. El tamaño de la configuración de HeapDeCommitFreeBlockThreshold en el administrador del montón dependerá del tipo de trabajo que acciones del sistema. Un tamaño de 0 x 00040000 es inicial recomendado valor.

Tenga en cuenta la siguiente información antes de cambiar el valor de la
HeapDeCommitFreeBlockThreshold
registro clave:
  • Este cambio sólo se aplica a la fragmentación de memoria problemas.
  • Este cambio es todo el sistema. Por lo tanto, será la mayoría de los procesos utilizar más memoria al inicio.
  • Sólo tenga en cuenta este cambio para sistemas con BizTalk Servidor de su misión principal.
Para ayudar a reducir la fragmentación de memoria virtual, puede aumentar el tamaño de la configuración de HeapDeCommitFreeBlockThreshold en el administrador del montón cambiando el valor de la clave del Registro siguiente:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Administrador


Nombre de valor: HeapDeCommitFreeBlockThreshold
Tipo de valor: REG_DWORD
Información del valor: 0 x 00040000 (Esto es el valor inicial recomendado.)
Valor predeterminado: no está presente
Para obtener más información acerca de la clave HeapDeCommitFreeBlockThreshold del registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
315407La clave de registro "HeapDecommitFreeBlockThreshold"

Transformar las operaciones

Cuando BizTalk Server realiza las operaciones de transformación XML en los mensajes bastante grandes en un puerto de recepción, en un puerto de envío, o en XLANG, XSL transforma cargar todo el mensaje en la memoria..

Para resolver este problema, utilice uno de los métodos siguientes:
  • Reducir el número de mensajes que BizTalk Server procesos al mismo tiempo.
  • Reducir el tamaño del mensaje XML que se está transformado.
El objeto System.Policy.Security.Evidence se utiliza con frecuencia en las transformaciones y puede consumir mucha memoria. Cuando un mapa contiene un functoid de secuencias de comandos que se utiliza en línea C# (o cualquier otro lenguaje en línea), se crea el ensamblado en la memoria. El objeto System.Policy.Security.Evidence utiliza el objeto del ensamblado de llamada real. Esta situación crea un objeto raíz que no se elimina hasta que se reinicie el servicio de BizTalk.

La mayoría de los functoids de BizTalk predeterminado se implementan como secuencia de comandos en línea. Estos elementos pueden causar System.Byte [] objetos recoger en la memoria. Para minimizar el consumo de memoria, se recomienda que coloque cualquier asignación que utiliza estos functoids en un conjunto de pequeño. A continuación, hacer referencia a ese ensamblado. Utilice la siguiente tabla para determinar qué functoids Usar secuencia de comandos en línea y qué functoids no utilizan secuencias de comandos en línea.

En la segunda columna, "Sí" significa que este functoid se implementa como secuencia de comandos en línea y causaría System.Byte [] objetos recopilar en memoria. "No" significa que este functoid no está implementada como secuencia de comandos en línea y que no provocarán System.Byte [] objetos recoger en la memoria.
Contraer esta tablaAmpliar esta tabla
Functoids¿Secuencia de comandos en línea?
Todos los Functoids de cadena
Todos los Functoids matemáticos
Todos los Functoids lógicos excepto IsNil
Función lógica de IsNilNo
Todos los Functoids de fecha y hora
Todos los Functoids de conversión
Todos los Functoids científicos
Todos los Functoids acumulativos
Todos los Functoids de base de datosNo
Functoids avanzados¿Secuencia de comandos en línea?
Functoid de bucleNo
Acoplar el Functoid de asignación de valorNo
El Functoid de aserciónNo
Functoid de Extractor de tablaNo
Functoid de bucle de tablaNo
Functoid de secuencias de comandos con en línea C#
Functoid de secuencias de comandos con JScript.NET en línea
Functoid de scripting con en línea Visual Basic.NET
Functoid de secuencias de comandos con XSLT en líneaNo
Functoid de secuencias de comandos con la plantilla de llamada XSLT en líneaNo
Al llamar a ensamblado externo del Functoid de secuencias de comandosNo
Functoid de valor nuloNo
Functoid de asignación de valorNo
Functoid de copia masivaNo
Functoid de iteraciónNo
Functoid de índiceNo
Record Count FunctoidNo
BizTalk Server 2006 y versiones posteriores mejoran significativamente la administración de memoria para documentos de gran tamaño. Para ello, BizTalk Server implementa un mensaje configurable umbral de tamaño para cargar documentos en la memoria durante las operaciones de transformación. El umbral de tamaño de mensaje predeterminado es 1 MB. Para obtener más información acerca de la configuración de TransformThreshold, visite el sitio Web de Microsoft Developer Network (MSDN) siguiente:
http://msdn2.Microsoft.com/en-us/library/aa560481.aspx

Los valores de atributo de gran tamaño y los valores de elementos grandes

Cuando se ejecuta una operación de recepción de BizTalk Server canalización o una canalización de envío en un documento XML, se procesa la carga en memoria si el documento contiene una o varias de las siguientes entidades:
  • Valores de atributo grande
  • Valores de elementos grandes
  • Etiquetas de atributo o elemento grandes
Para resolver este problema, limite el tamaño de estas entidades. Si este método no es posible, asegúrese de que la instancia del HOST de BizTalk no procesa múltiples documentos como éstos al mismo tiempo.

Componentes de canalización personalizado

Utiliza un componente de canalización personalizado que se carga la totalidad secuencia en la memoria. Todos los componentes que se incluyen con BizTalk Server, excepto las transformaciones, soporte de transmisión por secuencias. Estos componentes no se utilizan como mucho memoria durante la transmisión por secuencias. Sin embargo, no pueden admitir los componentes de canalización personalizado transmisión por secuencias.

Bajo cargas pesadas de transmisión por secuencias

Enviar hosts quedarse sin memoria cuando operan bajo cargas pesadas. BizTalk Server canalizaciones de envío y enviar secuencias de compatibilidad de adaptadores. En el transmisión por secuencias, cada componente carga un pequeño fragmento de la secuencia en la memoria. Debido a que cada mensaje incluye otras estructuras de datos, junto con un mensaje contexto que puede ser grande o pequeña, este comportamiento afecta al comportamiento de BizTalk Server bajo cargas pesadas.

Se ve afectado el comportamiento de BizTalk Server debido a que el motor de carga de un número de mensajes configurados previamente. El número de los mensajes que se carga el motor se basa en los valores que aparecen en el LowWaterMark y el campo HighWaterMark de la tabla Adm_serviceClass. La tabla de Adm_serviceClass está en la base de datos de administración de BizTalk. Estos valores controlar el número de mensajes que BizTalk Server los procesos o envía a la al mismo tiempo.

El valor de HighWaterMark es el número total de mensajes que el motor de procesos al mismo tiempo. El valor predeterminado es 200 mensajes por cada CPU. Por lo tanto, en un servidor de 8 procesadores, el host de envío intentará procesar los mensajes de 1.600 (200 * 8) en el mismo tiempo. Si se supone que cada mensaje es de 50 KB, los mensajes de igual a 80 MB (1, 600 * 50 = 80 000 KB).

Para resolver este problema, puede cambiar el valor de HighWaterMark y el valor de LowWaterMark en la base de datos. Los valores que utilice dependen del tamaño de los mensajes.

Para obtener más información acerca de las causas comunes de un memoria insuficiente de condición, consulte la sección "Memoria crecimiento en mensajería de BizTalk" en el siguiente sitio Web de Microsoft:
http://blogs.msdn.com/biztalkperformance
BizTalk Server 2006 y versiones posteriores, puede cambiar el host predeterminado configuración de límite. Para obtener más información acerca de cómo cambiar el host predeterminado la configuración, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/aa559628.aspx

Intente simplificar el problema

Si ha identificado una pérdida de memoria, intente determinar la causa Quitando componentes personalizados o mediante la simplificación de un mapa. Además, trate de reproducir el problema mediante el uso de una orquestación simple o una solución sencilla. Normalmente, se debe crear independiente recibir hosts para adaptadores de recepción. También debería crear hosts de envío independiente para los adaptadores de envío. Cuando se utiliza este método, cada adaptador puede ejecutar en un proceso independiente. Por lo tanto, si el proceso de BizTalk Server produce una condición de falta de memoria, será saber qué son los componentes.

Pasos para solucionar problemas

Para solucionar una condición de falta de memoria, utilice la depuración Herramienta de diagnóstico para supervisar las asignaciones de memoria con el tiempo. Los diagnósticos de depuración herramienta puede crear y analizar un archivo de volcado de pérdida de memoria (.dmp). Cuando se solucionar problemas de pérdidas de memoria, el objetivo consiste en adjuntar Leaktrack.dll antes de la alta condición de memoria se reproduce para capturar el crecimiento de la memoria con el tiempo. Leaktrack.dll se incluye con la herramienta Diagnósticos de depuración.
  1. Instalar la herramienta de diagnósticos de depuración.

    El siguiente archivo está disponible para su descarga desde el centro de descarga de Microsoft:

    Contraer esta imagenAmpliar esta imagen
    Descargar
    Descargue ahora el paquete de herramienta Debug Diagnostic Tool.

    Para obtener más información acerca de cómo descargar los archivos de soporte técnico de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    119591 Cómo obtener archivos de soporte técnico de Microsoft desde los servicios en línea
    Microsoft exploró este archivo en busca de virus. Microsoft ha utilizado el software de detección de virus más reciente que estaba disponible en la fecha en que se ha registrado el archivo. El archivo se almacena en los servidores de seguridad mejorada que ayuda a impedir cambios no autorizados en el archivo.
  2. Utilice el Monitor de rendimiento para recopilar datos acerca del sistema rendimiento. Estos datos pueden proporcionar indicadores importantes acerca de la eficacia del el entorno de BizTalk Server. El objetivo es capturar el rendimiento de proceso con el tiempo. Por lo tanto, habilitar el registro de Monitor de rendimiento antes de la pérdida de memoria se produce.

Cómo utilizar el registro de Monitor de rendimiento

Seleccione los datos para iniciar sesión
Para seleccionar los datos para iniciar sesión, utilice el método apropiado para el sistema operativo:
  • Para Windows Server 2008 y Windows Server 2008 R2
    1. En Herramientas administrativas, abra Monitor de confiabilidad y rendimiento.
    2. Con el botón secundario Monitor de rendimiento, haga clic en Nuevo y, a continuación, haga clic en Conjunto de recopiladores de datos.
    3. En el Nombre cuadro, escriba un nombre descriptivo y, a continuación, haga clic en Siguiente.
    4. Tenga en cuenta el directorio raíz y, a continuación, haga clic en Siguiente.
    5. Haga clic en Iniciar este conjunto ahora de recopiladores de datosy, a continuación, haga clic en Finalizar.
    6. Expanda Conjuntos de recopiladores de datos, expanda Definido por el usuario y, a continuación, seleccione el archivo.
    7. Con el botón secundario Registro de Monitor de sistemay, a continuación, haga clic en Propiedades.
    8. Haga clic en Agregar En la página Contadores de rendimiento ficha Seleccionar los siguientes objetos y, a continuación, haga clic en Agregar Después de seleccionar cada objeto:
      • .Netas CLR excepciones
      • .NET CLR memoria
      • BizTalk: mensajería
      • BizTalk:TDDS
      • Memoria
      • Proceso
      • Procesador
      • Orquestaciones XLANG/s
      Si SQL Server es local, agregue también los siguientes objetos:
      • SqlServer
      • SQLServer: estadísticas generales
      • SQLServer: administrador
    9. Haga clic en ACEPTAR.
    10. Cambiar el Valor de intervalo de muestra cuadro para 5 segundos.

      Nota El valor de intervalo de muestreo y el momento para empezar a supervisar son subjetivas. Estos valores dependen de cuando se reproduce la pérdida de memoria. Debido a que el archivo de registro puede ser grande, especifique un intervalo en el que puede obtener la información que debe tener sin sobrecargar el servidor.
    11. Haga clic en ACEPTAR.
    Para detener la recopilación de datos, haga clic en Detener En la página Acción menú.
  • Windows Server 2003 o Windows XP
    1. Expanda Los registros de rendimiento y Alertas.
    2. Con el botón secundario Registros de contadory, a continuación Haga clic en Nueva configuración de registro. El Nueva configuración de registroAparecerá el cuadro de diálogo.
    3. En el Nombre cuadro de diálogo, escriba un texto descriptivo nombre y, a continuación, haga clic en ACEPTAR.
    4. Tenga en cuenta la ubicación del archivo de registro. (También puede hacer clic en el Archivos de registro ficha y, a continuación, haga clic en Configurar para cambiar la ubicación del archivo de registro).
    5. Haga clic en Agregar contadores.
    6. Seleccione Todos los contadores y Todos los instancias.
    7. En el Objeto de rendimiento lista, seleccione los siguientes objetos. Haga clic en Agregar Después de seleccionar cada objeto.
      • .Netas CLR excepciones
      • .NET CLR memoria
      • BizTalk: mensajería
      • BizTalk:TDDS
      • Memoria
      • Proceso
      • Procesador
      • Orquestaciones XLANG/s
      Si SQL Server es local, agregue también los siguientes objetos:
      • SqlServer
      • SQLServer: estadísticas generales
      • SQLServer: administrador
    8. Haga clic en Cerrar.
    9. Cambie el valor de Muestreo de datos Intervalo a 5 segundos.

      Nota El valor de intervalo de muestreo de datos y el momento para empezar a supervisar son subjetivas. Estos valores dependen de cuando se reproduce la pérdida de memoria. Debido a que el archivo de registro puede ser grande, especifique un intervalo en el que puede obtener la información que debe tener sin sobrecargar el servidor.
    10. Haga clic en ACEPTAR.
    Para detener la recopilación de datos, haga clic en el nombre del registro de contador y, a continuación, haga clic en Detener.
Obtener el archivo de volcado
Para obtener el archivo de volcado, utilice uno de los métodos siguientes:
  • Método 1: automático
    Crear una regla de memoria y pérdida de manejar con DebugDiag es el enfoque recomendado para capturar un volcado de memoria. La regla de memoria y pérdida de controlar automáticamente asigna Leaktrack.dll. Esto se utiliza para realizar un seguimiento de las asignaciones de memoria. Para crear la regla de memoria y pérdida de manejar, siga estos pasos:
    1. Iniciar la depuración Herramienta de diagnóstico 1.1.
    2. Seleccione Memoria y pérdida de identificadores, y a continuación, haga clic en Siguiente.
    3. Seleccione el BTSNTSvc.exe procesar y, a continuación, haga clic en Siguiente.
    4. En la página Configurar la regla de fugas, siga estos pasos:
      1. Haga clic para seleccionar la Iniciar seguimiento inmediatamente cuando se activa la regla de la memoria casilla de verificación. De lo contrario, puede especificar un tiempo de preparación antes de LeakTrack.dll se inyecta en el proceso de BTSNTSvc.exe.
      2. Haga clic en Configurar, y, a continuación, haga lo siguiente:
        • Confirme Crear automáticamente una regla de bloqueo está seleccionada. Al seleccionar esta opción, un volcado de memoria se creará automáticamente si se detiene el proceso de BTSNTSvc.exe.
        • Haga clic para seleccionar la Generar un volcado de usuario cuando llegue bytes virtuales casilla de verificación y mantener el valor predeterminado de 1024.
        • Haga clic para seleccionar la y cada artículo adicional casilla de verificación y mantener el valor predeterminado de 200.
        Seleccionando los bytes virtuales alcanzar opción, un volcado de memoria se creará automáticamente cuando bytes virtuales utiliza 1024 MB. Si bytes virtuales aumenta en 200 MB, automáticamente se creará otro volcado de memoria.
      3. Haga clic en Guardar & cerrar.
      4. Haga clic en siguiente.
    5. En la página Seleccione volcado de ubicación y nombre de la regla, haga clic en Siguiente.

      Nota También puede cambiar la ruta de acceso del archivo de volcado en el Ubicación de UserDump cuadro de esta página.
    6. Haga clic en Finalizar Para activar la regla ahora.
    Nota Ahora está realizando el seguimiento del estado de la regla. Cada vez que se crea un volcado de memoria, aumentará el valor de la columna Recuento de Userdump en la ficha reglas. La ubicación de volcado de memoria predeterminada es c:\Archivos de Files\DebugDiag\Logs.
  • Método 2: Manual
    Puede asociar también manualmente Leaktrack.dll y obtener manualmente el archivo de volcado de memoria. Esto permite controlar cuando se crea el volcado de memoria. Para ello, siga estos pasos:
    1. Iniciar la depuración Herramienta de diagnóstico 1.1.
    2. Haga clic en el Procesos ficha.
    3. (Ratón) en el BTSNTSvc.exe procesar y, a continuación, haga clic en Monitor de fugas.
    4. En el Herramienta de diagnóstico de depuración cuadro de diálogo cuadro de diálogo, haga clic en y, a continuación, haga clic en ACEPTAR.
    Crear una regla de bloqueo para supervisar el mismo proceso de Btsntsvc.exe en caso de que el proceso se detiene antes de crear el volcado de memoria:
    1. Inicio Herramienta de diagnóstico de depuración 1.1.
    2. Seleccione Bloqueoy, a continuación, haga clic en Siguiente.
    3. Seleccione Un proceso específicoy, a continuación, haga clic en Siguiente.
    4. Seleccione el mismo proceso de Btsntsvc.exe y, a continuación, haga clic en Siguiente.
    5. En el Configuración avanzada (opcional) la página, haga clic en Siguiente.
    6. En el Seleccione la ubicación de volcado y el nombre de la regla (opcional) cuadro de diálogo, haga clic en Siguiente.
    7. Seleccione Activar la regla ahoray, a continuación, haga clic en Finalizar.
    Cuando el proceso llega a un 60% a 80 por ciento de RAM, haga clic en el proceso de Btsntsvc.exe y, a continuación, haga clic en Crear Userdump completa. Si se detiene el proceso de BizTalk antes de crear el volcado de usuario, la regla de bloqueo debe surtan efecto y cree el volcado de memoria.
Detener el registro de Monitor de rendimiento
Si va a capturar un volcado de memoria y los datos del Monitor de rendimiento, detener el registro de Monitor de rendimiento unos dos minutos después de haber creado el volcado de memoria.
Analizar el archivo de volcado
Para ayudar a determinar la causa de una pérdida de memoria, puede utilizar la depuración Herramienta de diagnóstico para analizar el archivo de volcado. Para ello, siga estos pasos:
  1. Haga clic en el Análisis avanzadoficha.
  2. Haga clic en Agregar archivos de datosy, a continuación, busque el archivo .dmp.
  3. Seleccione el Análisis de presión de memoriasecuencia de comandos y, a continuación, haga clic en Iniciar análisis.
De forma predeterminada, un archivo de informe de análisis (.mht) se creará en la carpeta c:\Archivos de Files\DebugDiag\Reports cuando finalice el análisis. El archivo de informe también se mostrará en el explorador. El archivo de informe contiene los resultados del análisis. Además, puede contener el archivo de informe recomendaciones acerca de cómo solucionar la pérdida de memoria.

Si utiliza personalizada DLL, puede agregar la ruta de acceso de símbolos de los archivos .pdb personalizado para el análisis. Para hacer Esto, siga estos pasos:
  1. Abra la herramienta Diagnósticos de depuración.
  2. En el Herramientas menú, haga clic en Opciones de y la configuración.
  3. En el Ruta de búsqueda de símbolos de depuracióncuadro de diálogo, escriba la ruta de acceso de símbolos.
Si necesita ayuda para analizar el archivo de volcado, póngase en contacto con Microsoft Servicios de soporte al cliente. Para obtener una lista completa de servicios de soporte al cliente números de teléfono y obtener información acerca de los costos de soporte técnico, visite el siguiente Sitio Web de Microsoft:
http://support.Microsoft.com/contactus/?ws=support
Antes de ponerse en contacto con servicios de soporte técnico, comprima el archivo de volcado, el registro del Monitor de rendimiento, el archivo de informe de análisis y los registros de sucesos actualizados (archivos .evt). Tendrá que enviar que estos archivos a un BizTalk Server de ingeniero de soporte.

Propiedades

Id. de artículo: 918643 - Última revisión: miércoles, 13 de junio de 2012 - Versión: 2.0
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbhowto kbmt KB918643 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 918643

Enviar comentarios

 

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