REVISIÓN: Monitor de recursos entra en una condición sin ofrecimiento en un servidor que ejecuta SQL Server 2008 o SQL Server 2008 R2

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

En esta página

Síntomas

En un servidor que ejecuta Microsoft SQL Server 2008 o SQL Server 2008 R2, la tarea Monitor de recursos registra cada cinco segundos el mensaje siguiente:
Date_And_Time Servidor Utilizando 'dbghelp.dll' versión '4.0.5'
Date_And_Time Servidor ** Volcar el subproceso - spid = 0, PSS = 0x0000000000000
000, CE = 0 X 0000000000000000
Date_And_Time Inicio de sesión Inicio de sesión se realizó correctamente para el usuario 'opentext\sqlcrmusr'. Conexión: confianza. [CLIENTE: DirecciónIP]
Date_And_Time spid78 Error: 4014, gravedad: 20, estado: 2.
Date_And_Time spid78 Un error grave al leer la secuencia de entrada de la red. Se terminará la sesión.
Date_And_Time Servidor *** Volcado de pila que se envían a Unidad: \MSSQL2005\LOG\SQLDump####.txt
Date_And_Time Server * *******************************************************************************
Date_And_Time Servidor *
Date_And_Time Servidor * Volcado de pila inicial:
Date_And_Time Servidor * Date_And_Time SPID 0
Date_And_Time Servidor *
Date_And_Time Servidor * El Monitor de recursos sin ofrecimiento
Date_And_Time Servidor *
Date_And_Time Server * *******************************************************************************
Date_And_Time Server * -------------------------------------------------------------------------------
Date_And_Time Server * Volcado de pila corto
Date_And_Time Servidor Firma de la pila para el volcado es 0x000000000000005C

Date_And_TimeServidor, desconocido, el trabajo de Monitor de recursos (0x9b0) 0x0000000003A2C1C0 parece estar sin ofrecimiento en Node_ #. Liberada de memoria: 0 KB. Aprox. CPU utilizada: kernel 0 msnull usuario 0 msnull intervalo: Interval_value.

Causa

En SQL Server 2008 y SQL Server 2008 R2, la tarea Monitor de recursos despierta periódicamente para escuchar y notificar a los suscriptores de eventos de memoria baja, alta o constante. Estos eventos de memoria pueden ser externos a SQL Server (notificaciones que todo el sistema desde el sistema operativo) o interno para SQL Server (notificaciones de todo el proceso desde el grupo de búferes). Cuando se producen tales notificaciones, distintos de los consumidores de memoria recortan su uso de memoria.

Nota Los consumidores pueden ser objetos Clerk de la memoria caché almacena, almacenes de usuario o los almacenes de objeto.

Si ciertos consumidores de memoria utilizan una gran cantidad de memoria, el recorte que realizan los consumidores puede tardar mucho tiempo en Finalizar.

La tarea del programador de Monitor que se ejecute cada cinco segundos comprueba si el Monitor de recursos se ha movido de consumidor de uno a otro en los últimos 60 segundos. Cuando el Monitor de programador detecta que el Monitor de recursos no ha movido más allá de un consumidor durante 60 segundos, el Monitor de programa lo interpreta como el Monitor de recursos entrando en un estado sin ofrecimiento y, a continuación, el Monitor de programa registra la mensaje de error que se menciona en la sección "Síntomas".

Estos mensajes también se desencadenan si la velocidad a la que el Monitor de recursos libera la memoria es inferior a 2 MB, cada cinco segundos.

Estos mensajes son sólo una indicación de que el Monitor de recursos está ocupado de limpieza de los grandes consumidores, y estos mensajes no indican necesariamente un problema con el Monitor de recursos propio.

Solución

A partir de Microsoft SQL Server 2008 Service Pack 2 y Microsoft SQL Server 2008 R2 Service Pack 1, el mensaje de Monitor de recursos sin ofrecimiento se extendió el empleado de memoria que conduce a la condición sin ofrecimiento de localizar con facilidad.

El nuevo mensaje será similar al siguiente:
Trabajo (0x9b0) del Monitor de recursos 0x0000000003A2C1C0 parece estar sin ofrecimiento de nodo Node_ #. Liberada de memoria: 0 KB. Esperar por última vez: lastwaittype. Última clerk: tipo clerk_type, nombre clerk_name. Aprox. CPU utilizada: núcleo 0 ms, usuario 0 ms, intervalo: Interval_value.
Éstas son las descripciones de los distintos campos que se utilizan en este mensaje:
  • Liberada de memoria: Ésta es la cantidad de memoria se libera por Monitor de recursos para el intervalo especificado como en kilobytes. Si la velocidad a la que se libera la memoria no exceda de 2 MB cada cinco segundos, el Monitor de programador detecta esta condición como condición sin ofrecimiento.
  • Esperar por última vez: Éste es el último tipo de espera para el subproceso del Monitor de recursos. Puede utilizar este campo junto con el Aprox. CPU utilizada campo para identificar si el subproceso del Monitor de recursos está en ejecución o esperando a que una parte significativa del intervalo.
  • Último empleado: Este es el tipo y el nombre del empleado del memoria que se recorte su memoria cuando ha ocurrido el estado sin ofrecimiento.
  • Aprox. CPU utilizada: Éste es el núcleo y tiempo de usuario utilizada por el Monitor de recursos que se mide en milisegundos. Puede utilizar junto con otros campos para comprobar que el Monitor de recursos está realizando el progreso durante el intervalo especificado.
  • Intervalo: Esto es el tiempo transcurrido desde que se notificó el último empleado, medido en milisegundos.
Puede utilizar este mensaje también en las entradas RING_BUFFER_RESOURCE_MONITOR desde el momento del mensaje para identificar el origen de la notificación de poca memoria.

Para obtener más información acerca de cómo interpretar al MONITOR de RING_BUFFER_RESOURCE. visite el blog MSDN siguiente:
Cómo funciona: ¿Qué son los RING_BUFFER_RESOURCE_MONITOR indicando?
Para obtener más información acerca de cómo SQL Server escucha y responde a las notificaciones de memoria y acerca de la tarea Monitor de recursos y solucionar los problemas de rendimiento relacionados con la memoria en SQL Server, consulte los siguientes artículos de blog MSDN:
Presión de memoria - clasificada

Administrador de memoria del SQLOS: responder a la presión de memoria

El mensaje de conjunto de trabajo de SQL Server

Solucionar problemas de rendimiento en SQL Server 2008

Información del Service pack de SQL Server 2008

Para resolver este problema, obtenga el service pack más reciente para SQL Server 2008. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
968382 Cómo obtener el service pack más reciente para SQL Server 2008

Información del Service pack para SQL Server 2008 R2

Para resolver este problema, obtenga el service pack más reciente para SQL Server 2008 R2. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2527041Cómo obtener el service pack más reciente para SQL Server 2008 R2

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Se refiere a:".

Este problema se corrigió primero en SQL Server 2008 Service Pack 2 de SQL Server 2008.
Este problema se corrigió primero en SQL Server 2008 R2 Service Pack 1 para SQL Server 2008 R2.

Propiedades

Id. de artículo: 2216485 - Última revisión: viernes, 22 de abril de 2011 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
Palabras clave: 
kbprb kbfix kbtshoot kbmemory kbmt KB2216485 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): 2216485

Enviar comentarios