Se produce una degradación del rendimiento en la función UnmapViewOfFile

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

En esta página

Síntomas

Un programa que utiliza asigna las vistas de archivo mayores de 500 megabytes (MB) puede experimentar una disminución significativa del rendimiento. Archivo asignado vistas suelen utilizarse para compartir información entre dos o más procesos. La degradación del rendimiento se produce en la función UnmapViewOfFile .

Causa

Este problema se produce si un programa asigna las vistas de archivo mayores de 500 MB en Microsoft Windows Server 2003 o en Microsoft Windows XP Service Pack 1 (SP1).

Solución

Windows XP Service Pack 1

Información de Service Pack

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

Información de revisiones

Hay una revisión compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a los sistemas que experimenten este problema específico. Esta revisión podría sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para descarga, es hay una sección de "Descarga de revisión disponible" al principio de este artículo. Póngase en contacto si no aparece en esta sección, con los Microsoft cliente Servicios de y soporte técnico para obtener la revisión de.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con esta revisión específica. Para obtener una lista completa de números de teléfono de servicio de atención al cliente y soporte técnico o para crear una solicitud de servicio independiente, visite el siguiente sitio Web:
http://support.microsoft.com/contactus/?ws=support
Nota El formulario "Descarga de revisión disponibles" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time      Version        Size       File name     Platform 
   ----------------------------------------------------------------------- 
   28-Feb-2003  16:17    5.1.2600.1178   1,895,424  Ntkrnlmp.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,951,232  Ntkrnlpa.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,923,584  Ntkrpamp.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,927,424  Ntoskrnl.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   5,826,432  Ntkrnlmp.exe  ia-64 
   28-Feb-2003  16:17    5.1.2600.1178   5,736,704  Ntoskrnl.exe  ia-64

Windows Server 2003

Aunque el problema se manifiesta con una llamada a la función UnmapViewOfFile , el cambio de código necesario es profundo dentro del núcleo. Dado el riesgo de cambiar las funciones de administración de memoria de núcleo, de una revisión para Windows Server 2003 no estará disponible. La corrección de código para Windows Server 2003 estará disponible en Windows Server 2003 Service Pack 1.

Programas que podrían verse afectados por este problema se pueden identificar mediante Monitor de rendimiento. Para ello, siga estos pasos:
  1. Crear un registro de monitor de rendimiento siguiendo los pasos descritos en Microsoft Knowledge Base el artículo 248345 o mediante el Asistente para Monitor de rendimiento.
    Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    248345Cómo crear un registro mediante Monitor de sistema en Windows
  2. Registrar la actividad del servidor durante horas de disponibilidad.
  3. Detener el registro de monitor de rendimiento y revise el Uso máximo de tamaño del espacio de trabajo bajo el objeto de rendimiento de proceso . Busque cualquier proceso donde el tamaño de conjunto de trabajo ha superado 500 MB.
  4. Restar el valor de tamaño de conjunto de trabajo de cada proceso identificado en el paso 3 de la correspondiente entrada de Bytes privados bajo el objeto de rendimiento de proceso .
Si el conjunto de trabajo para un proceso es 500 MB más de los bytes privados, el programa podrían estar utilizando vistas asignadas grandes de archivos y podrían verse afectados por la degradación del rendimiento de llamar a la función UnmapViewOfFile . Si estos programas aleatoriamente no responde o no responde durante largos períodos de tiempo, análisis o revisión de código de depuración puede ser necesarios para comprobar que los programas se ven afectados por este problema.

Si el programa se ve afectado por este problema de rendimiento, las soluciones de codificación siguientes están disponibles para Windows Server 2003 hasta que Windows Server 2003 Service Pack 1 esté disponible:
  1. Quite las llamadas a la función UnmapViewOfFile en programas que se ejecutan en Windows Server 2003. Esta llamada de función es necesaria sólo si el proceso debe asignar varias secciones de memoria a la misma dirección de memoria. El sistema operativo limpiará secciones compartidas tan pronto como el último subproceso terminó.
  2. Si se debe llamar a la función UnmapViewViewOfFile , escribir un nuevo programa para crear un objeto de trabajo (CreateJobObject). Utilizar la función SetInformationJobObject para establecer el tamaño del conjunto de trabajo máximo en aproximadamente 500 MB, estableciendo la propiedad MaximumWorkingSetSize en el parámetro _JOBOBJECT_BASIC_LIMIT_INFORMATION. (Esta configuración es 24 MB con el / 3 GB cambie.) Asociar todos los procesos necesarios de este objeto de trabajo.
Este programa debe ejecutarse una vez los procesos necesarios ya han comenzado. Si uno de los procesos se reinicia, se debe volver a ejecutar este programa. No se puede incurrir una penalización de rendimiento enorme si limita el tamaño para el proceso de trabajo. Si hay mucha memoria RAM disponible en el sistema, pasará las páginas que se quitan de conjunto de trabajo del proceso en la lista en espera. Si se produce un error de página, probablemente lo serán atendida por la página en la lista de espera en la memoria física. Pruebas comparativas de rendimiento se deben ejecutar para determinar el efecto de rendimiento real para que esta solución.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:". Este problema se corrigió por primera vez en el Service Pack 2 de Microsoft Windows XP.Está previsto el problema se resuelva en Windows Server 2003 Service Pack 1.

Propiedades

Id. de artículo: 815227 - Última revisión: miércoles, 29 de agosto de 2007 - Versión: 6.3
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Home Edition SP1
  • Microsoft Windows XP Professional SP1
Palabras clave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbtshoot kbenv kbqfe kbwinxppresp2fix kbfix kbbug KB815227 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): 815227

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