Síntomas
Suponga que tiene una aplicación o herramienta que se ejecuta en Windows 7 o Windows Server 2008 R2 y que la aplicación o herramienta realiza una o varias de las siguientes tareas:
-
Supervisión de otro servidor mediante ICMP o ping.exe
-
A partir de varios procesos de corta duración para realizar un trabajo y el proceso se detiene después
-
Realizar cualquier actividad de la red y el proceso se detiene después por otra aplicación o secuencia de comandos
En esta situación, después de que el servidor se ejecuta continuamente durante varias horas o varios días, observa que el servicio interfaz de almacenamiento de red (NSI) pérdidas de memoria. Además, observa los síntomas siguientes:
-
Si se detiene el software de supervisión, se detiene la pérdida de memoria.
-
Si detiene la aplicación y, a continuación, reinicie el equipo, se produce ninguna pérdida de memoria en el servicio NSI.
-
En algunos casos, si deshabilitar y habilitar al adaptador de red, observa un aumento repentino del uso de CPU por el servicio NSI. Además, el uso de memoria inmediatamente viene gotas de 1 ó 2 gigabytes (GB) a 200 ó 300 megabytes (MB).
Este problema puede producirse en cualquiera de los siguientes escenarios.
Situación 1
Si una aplicación, como ping.exe forzosamente se detiene, es posible que no se llama a la función IcmpCloseHandle . En este caso, el servicio NSI puede detectar que hay un cliente. Por lo tanto, el servicio continuamente enviar avisos acerca de los mensajes ICMP. Porque el cliente no existe, la lista de notificación sigue aumentando. No consigue limpiar la lista hasta que se detiene el servicio NSI.
Para enviar un ping, deberá abrir el identificador ICMP y, a continuación, utilizar estas otras funciones de aplicación auxiliar IP para enviar y recibir datos de ICMP:
Una vez que la aplicación envía el ping, debe llamar a la función IcmpCloseHandle para cerrar el identificador ICMP.
Situación 2
Un desarrollador de software crea una aplicación para enviar y recibir mensajes ICMP mediante APIs de IPHlelper. Si sólo un identificador ICMP se utiliza para enviar mensajes ICMP para varios clientes y si lo hace no hace a una velocidad muy alta, la API de IPHelper que se notifica cuando se recibe un mensaje no puede mantener la velocidad. En este caso, observará que la memoria del servicio NSI sigue creciendo exponencialmente. Además, observe elevado uso de CPU por el servicio NSI (nsisvc.dll).
Escenario 3
Tiene una aplicación o servicio que directa o indirectamente utiliza funciones auxiliares de IP. La aplicación se detiene o se detiene, y no salir correctamente cuando cada registro de notificación no es cancelado (CancelMibChangeNotify2). En este caso, el servidor NSI mantiene el registro pendiente para el proceso que se detiene. Si hay muchas instancias de detención de la aplicación, el servicio NSI tendrá muchos registros persistentes. Se mantiene un estado RPC asincrónico y otra información para cada registro. Esto agrega el uso de memoria. Normalmente, estos registros se realizan para un cambio de interfaz o un cambio de dirección IP Unicast. Si no hay ningún cambio en el estado, aún se mantienen estos registros.
Durante el proceso de registro, se utilizan las siguientes funciones de notificación:
El motivo que muchas aplicaciones no llamar (CancelMibChangeNotify2) o detener el proceso se explica en el tema de la función NotifyIpInterfaceChange en el sitio Web de Microsoft Developer Network.
Después de llamar a la función NotifyIpInterfaceChange para registrar las notificaciones de cambio, estas notificaciones seguirán enviándose hasta que se anula el registro de la aplicación para recibir notificaciones de cambio o los puntos de la aplicación. Si se detiene la aplicación, el sistema anula el registro automáticamente cualquier registro de notificaciones de cambio. Se recomienda que configure una aplicación explícitamente eliminar del registro las notificaciones de cambio antes de que se detenga.
Para cada registro de notificación, que realice también asignar memoria no paginada (NPP) para la elEtiqueta de Cpsn.
Causa
Este problema se produce porque el proceso que registra para la notificación sale sin anular el registro del servicio de NSI primero. Por lo tanto, la pérdida de registros de NSI hace que la pérdida de memoria en el servicio NSI. Además, el NPP pérdidas de memoria en la Cpsn etiqueta de contextos NSI Proxy (NSI.dll).
Solución
Información de la revisión
Hay una revisión compatible de Microsoft Support. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.
Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.
Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.
Requisitos previos
Para aplicar este hotfix, debe tener Service Pack 1 para Windows 7 o Windows Server 2008 R2 instalado.
Requisito de reinicio
Debe reiniciar el equipo después de aplicar este hotfix.
Información de la sustitución de revisión
Esta revisión no sustituye cualquier revisión lanzada anteriormente.
Información de archivo
La versión en inglés (EE. UU.) de esta revisión instala archivos que tienen los atributos de archivo que se recogen en las siguientes tablas. Las fechas y horas de estos archivos se muestran según la Hora universal coordinada (UTC). En su equipo, los archivos figuran con la hora local en función del horario de verano configurado. Además, pueden cambiar cuando realiza determinadas operaciones en los archivos.
Notas e información de archivo de Windows 7 y Windows Server 2008 R2
Importante Las revisiones de Windows 7 y Windows Server 2008 R2 se incluyen en los mismos paquetes. Sin embargo, las revisiones de la página Solicitud de revisión figuran para ambos sistemas operativos. Para solicitar la revisión que se aplica a uno o a ambos sistemas operativos, seleccione la revisión que aparece enumerada bajo "Windows 7/Windows Server 2008 R2" en la página. Consulte siempre la sección "La información de este artículo se refiere a" en los artículos para determinar el sistema operativo al que se aplica cada revisión.
-
Los archivos que se aplican a un producto específico, SR_Level (RTM, SPn) y servicio (LDR, GDR) se pueden identificar examinando los números de versión de archivo como se muestra en la siguiente tabla.
Versión
Producto
SR_Level
Rama de servicio
6.1.760 0. 16xxx
Windows 7 y Windows Server 2008 R2
RTM
GDR
6.1.760 1. 22xxx
Windows 7 y Windows Server 2008 R2
SP1
LDR
-
Los tipos de servicio GDR contienen solo las correcciones de amplia distribución para solucionar problemas extremadamente importantes. Los tipos de servicio LDR contienen revisiones, además de correcciones de amplia distribución.
-
Los archivos MANIFEST (.manifest) y los MUM archivos (.mum) que se instalan para cada entorno se muestran por separado en la sección "Información para Windows 7 y Windows Server 2008 R2 de archivo adicional".
-
MUM y los archivos de manifiesto y los archivos de catálogo (.cat) de seguridad asociados, son extremadamente importantes para mantener el estado de los componentes actualizados. Los archivos del catálogo de seguridad, cuyos atributos no se indican, cuentan con la firma digital de Microsoft.
Para todas las versiones compatibles de Windows 7 basadas en x86
Nombre de archivo |
Versión de archivo |
Tamaño de archivo |
Fecha |
Hora |
Plataforma |
Nsi.dll |
6.1.7600.16385 |
8,704 |
14-Jul-2009 |
01:16 |
x86 |
Nsiproxy.sys |
6.1.7600.16385 |
16,896 |
13-Jul-2009 |
23:12 |
x86 |
Nsisvc.dll |
6.1.7601.22590 |
20,480 |
05-Feb-2014 |
02:03 |
x86 |
Winnsi.dll |
6.1.7600.16385 |
16,896 |
14-Jul-2009 |
01:16 |
x86 |
Para todas las versiones basadas en x64 compatibles de Windows 7 y Windows Server 2008 R2
Nombre de archivo |
Versión de archivo |
Tamaño de archivo |
Fecha |
Hora |
Plataforma |
Nsi.dll |
6.1.7600.16385 |
13,824 |
14-Jul-2009 |
01:41 |
x64 |
Nsiproxy.sys |
6.1.7601.22590 |
24,576 |
05-Feb-2014 |
01:15 |
x64 |
Nsisvc.dll |
6.1.7601.22590 |
26,624 |
05-Feb-2014 |
02:42 |
x64 |
Winnsi.dll |
6.1.7600.16385 |
26,112 |
14-Jul-2009 |
01:41 |
x64 |
Nsi.dll |
6.1.7601.22590 |
8,704 |
05-Feb-2014 |
02:03 |
x86 |
Winnsi.dll |
6.1.7601.22590 |
16,896 |
05-Feb-2014 |
02:04 |
x86 |
Para todas las versiones basadas en IA-64 compatibles de Windows Server 2008 R2
Nombre de archivo |
Versión de archivo |
Tamaño de archivo |
Fecha |
Hora |
Plataforma |
Nsi.dll |
6.1.7600.16385 |
18,944 |
14-Jul-2009 |
01:48 |
IA-64 |
Nsiproxy.sys |
6.1.7601.22590 |
53,760 |
05-Feb-2014 |
00:50 |
IA-64 |
Nsisvc.dll |
6.1.7601.22590 |
60,928 |
05-Feb-2014 |
01:48 |
IA-64 |
Winnsi.dll |
6.1.7600.16385 |
38,912 |
14-Jul-2009 |
01:50 |
IA-64 |
Nsi.dll |
6.1.7601.22590 |
8,704 |
05-Feb-2014 |
02:03 |
x86 |
Winnsi.dll |
6.1.7601.22590 |
16,896 |
05-Feb-2014 |
02:04 |
x86 |
Información sobre archivos adicionales para Windows 7 y Windows Server 2008 R2
Archivos adicionales para todas las versiones compatibles de Windows 7 basadas en x86
Nombre del archivo |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,822 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,805 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,807 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,459 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1918 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
699 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
8,301 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:38 |
Plataforma |
No aplicable |
Archivos adicionales para todas las versiones compatibles de Windows 7 y Windows Server 2008 R2 basadas en x64
Nombre del archivo |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,048 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
703 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
703 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
8,305 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:41 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,832 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
2,237 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
2.015 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
2,036 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,467 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
2,830 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
4,690 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
02:16 |
Plataforma |
No aplicable |
Archivos adicionales para todas las versiones compatibles de Windows Server 2008 R2 basadas en IA-64
Nombre del archivo |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,046 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
8,303 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
2,029 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Versión del archivo |
No aplicable |
Tamaño del archivo |
1,446 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
06:35 |
Plataforma |
No aplicable |
Nombre de archivo |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Versión del archivo |
No aplicable |
Tamaño del archivo |
4,690 |
Fecha (UTC) |
05-Feb-2014 |
Hora (UTC) |
02:16 |
Plataforma |
No aplicable |
Solución alternativa
Para evitar este problema, utilice uno de las soluciones siguientes según corresponda a su situación.
Solución para el escenario 1
Asegúrese de que la aplicación, como ping.exe, no se detiene por la fuerza. En su lugar, deje que la aplicación correctamente apagado.
O bien, actualizar a Windows Server 2012. Este problema se corrige en Windows Server 2012. Esta revisión impide que el servicio NSI perdiendo memoria independientemente de cómo se detiene la aplicación.
Solución para el escenario 2
Un desarrollador de software debe crear varios identificadores ICMP para enviar las solicitudes de ICMP. Si debe enviar un gran número de paquetes ICMP, debe utilizar sockets sin formato y directamente enviar y recibir paquetes ICMP en el socket RAW. Esto le proporcionará un rendimiento más rápido.
Solución para el escenario 3
En este escenario, si deshabilitar y habilitar al adaptador de red, el uso de memoria inmediatamente disminuye pero tiene un pico de uso de CPU corto.
Esto sucede porque cuando se produce un cambio en la dirección IP o la interfaz, el servicio NSI es notificado por el núcleo. El servicio NSI intenta notificar todos los clientes que se registran para la notificación. Cuando el servicio intenta notificar a un proceso de cliente que no existe, la RPC notifica un error. Por lo tanto, el servicio NSI elimina toda la información de estado guardada para ese proceso de cliente. Una vez que esto ocurre, se libera esa memoria.
En este caso, se registran varias notificaciones de cientos de miles. Una vez que se produce el evento, se libera toda la memoria de estos clientes no válidos.
Este problema se corrige en Windows 8.