Sintomi
Si supponga di disporre di un'applicazione o strumento che è in esecuzione in Windows 7 o Windows Server 2008 R2 e che l'applicazione o lo strumento esegue una o più delle seguenti operazioni:
-
Il monitoraggio di un altro server utilizzando ICMP o ping.exe
-
Avviare più processi di eseguire un processo di breve durati e il processo viene quindi arrestato
-
Eseguire qualsiasi attività di rete e il processo interrotto da un'altra applicazione o script
In questo caso, dopo che il server viene eseguito continuamente per diverse ore o giorni diversi, si noterà che il servizio interfaccia archivio di rete (NSI) di memoria. Inoltre, si verifichino le seguenti condizioni:
-
Se si interrompe il software di monitoraggio, si interrompe la perdita di memoria.
-
Se si interrompe l'applicazione e quindi riavviare il computer, si verifica alcuna perdita di memoria nel servizio di NSI.
-
In alcuni casi, se si disattiva e si attiva la scheda di rete, si noterà un picco di utilizzo della CPU improvviso dal servizio di NSI. Inoltre, l'utilizzo della memoria immediatamente proviene gocce 1 o 2 gigabyte (GB) a 200 o 300 megabyte (MB).
Questo problema può verificarsi in uno dei seguenti scenari.
Scenario 1
Se un'applicazione come ping.exe forzatamente arrestato, è possibile che la funzione IcmpCloseHandle non viene chiamato. In questo caso, il servizio NSI potrebbe rilevare che è disponibile un client. Pertanto, il servizio invia continuamente avvisi su tutti i messaggi ICMP. Perché il client non esiste, l'elenco di notifica continua ad aumentare. L'elenco non ottenere pulito fino a quando non viene interrotto il servizio NSI.
Per inviare un ping, è necessario aprire l'handle ICMP e quindi utilizzare le altre funzioni di supporto IP per inviare e ricevere dati ICMP:
Dopo l'applicazione invia il ping, deve chiamare la funzione IcmpCloseHandle per la chiusura dell'handle ICMP.
Scenario 2
Uno sviluppatore di software crea un'applicazione per inviare e ricevere messaggi ICMP utilizzando IPHlelper APIs. Se solo un handle ICMP viene utilizzato per inviare i messaggi ICMP per più client, se ciò non una frequenza molto elevata, l'API IPHelper che riceve una notifica quando viene ricevuto un messaggio non può mantenere la velocità. In questo caso, si noterà che la memoria NSI servizio continua a crescere in modo esponenziale. Inoltre, si nota un utilizzo elevato della CPU dal servizio di NSI (nsisvc.dll).
Scenario 3
Si dispone di un'applicazione o servizio che direttamente o indirettamente utilizza funzioni di supporto IP. L'applicazione si interrompe o viene arrestato, e non viene chiuso normalmente durante ogni registrazione della notifica non viene annullata (CancelMibChangeNotify2). In questo caso, il server NSI conserva la registrazione in sospeso per il processo che è stato arrestato. Se sono presenti numerose istanze di interruzione dell'applicazione, il servizio NSI avranno molte registrazioni supplementari. Per ogni registrazione viene mantenuto uno stato di async RPC e altre informazioni. Verrà aggiunta l'utilizzo della memoria. In genere, le registrazioni vengono effettuate per un cambiamento di interfaccia o un cambiamento di indirizzo IP Unicast. Se non vi è alcun cambiamento dello stato, le registrazioni verranno mantenute.
Le seguenti funzioni di notifica vengono utilizzate durante il processo di registrazione:
Il motivo che molte applicazioni non si chiama (CancelMibChangeNotify2) o interrompere il processo è descritto nell'argomento della funzione NotifyIpInterfaceChange sul sito Web Microsoft Developer Network.
La funzione NotifyIpInterfaceChange viene chiamato per registrare le notifiche di modifica, queste notifiche continuano a essere inviati fino a quando l'applicazione Annulla la registrazione per ricevere le notifiche di modifica o interrompe l'applicazione. Se l'applicazione si interrompe, il sistema Annulla automaticamente una registrazione per le notifiche di modifica. Si consiglia di configurare un'applicazione per la registrazione in modo esplicito le notifiche di modifica prima che si fermi.
Per ogni registrazione per la notifica, si apportano inoltre allocare memoria non di paging (NPP) per l'ilTag NSpc.
Causa
Questo problema si verifica perché il processo di registrazione per notifica esce senza prima l'annullamento della registrazione del servizio di NSI. Pertanto, il problema di registrazione presenti in causa la perdita di memoria nel servizio di NSI. Inoltre, il NPP perdite di memoria di NSpc di NSI Proxy contesti Tag (NSI.dll).
Risoluzione
Informazioni sull'hotfix
Un hotfix supportato è disponibile dal supporto Microsoft. Tuttavia, questo hotfix è destinato esclusivamente alla correzione del problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi in cui si verifica il problema descritto in questo articolo. Questo hotfix potrebbe essere sottoposto ad ulteriori test. Se il problema non causa gravi difficoltà, si consiglia di attendere il successivo aggiornamento software contenente tale hotfix.
Se l'hotfix è disponibile per il download, è presente una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se questa sezione non viene visualizzata, contattare il servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.
Nota Se si verificano ulteriori problemi o se è necessaria attività di risoluzione aggiuntiva, potrebbe essere necessario creare una richiesta di assistenza separata. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui è disponibile l'hotfix. Se non viene visualizzata la lingua, è perché un aggiornamento rapido non è disponibile per tale lingua.
Requisiti
Per applicare questo hotfix, è necessario disporre di Service Pack 1 per Windows 7 o Windows Server 2008 R2.
Richiesta di riavvio
Dopo avere applicato questo hotfix, è necessario riavviare il computer.
Informazioni sulla sostituzione degli hotfix
Questo hotfix non sostituisce eventuali hotfix precedentemente rilasciato.
Informazioni sui file
La versione inglese (Stati Uniti) di questo hotfix consente di installare file con gli attributi elencati nelle tabelle seguenti. Le date e gli orari per questi file sono elencati in formato UTC (Coordinated Universal Time). Le date e gli orari per questi file sul vostro computer locale sono espressi nel vostro orario locale e tengono anche conto dell'ora solare (DST). Inoltre, le date e le ore potrebbero cambiare con l'esecuzione di alcune operazioni sui file.
Note e informazioni sui file di Windows 7 e Windows Server 2008 R2
Importante Aggiornamenti rapidi di Windows 7 e aggiornamenti rapidi di Windows Server 2008 R2 sono inclusi nel pacchetto stesso. Tuttavia, gli aggiornamenti rapidi nella pagina richiesta Hotfix sono elencati in entrambi i sistemi operativi. Per richiedere il pacchetto di hotfix che si applica a uno o entrambi i sistemi operativi, selezionare l'hotfix elencato nella pagina in "Windows 7 e Windows Server 2008 R2". Fare sempre riferimento alla sezione "Si applica a" negli articoli per determinare il sistema operativo effettivo a cui si applica ogni aggiornamento rapido .
-
I file relativi a un prodotto specifico, SR_Level (RTM, SPn) e un ramo (LDR, GDR specifici) del servizio possono essere identificati esaminando i numeri di versione del file come indicato nella tabella seguente.
Versione
Prodotto
SR_Level
Ramo del servizio
6.1.760 0. 16xxx
Windows 7 e Windows Server 2008 R2
RTM
GDR
6.1.760 1. 22xxx
Windows 7 e Windows Server 2008 R2
SP1
LDR
-
I rami del servizio GDR contengono solo correzioni rilasciate per risolvere i problemi di diffusione, estremamente importante che. I rami del servizio LDR contengono hotfix in aggiunta alle correzioni rilasciate su vasta scala.
-
I file MANIFEST (manifest) e il MUM (mum) installati per ogni ambiente sono elencati separatamente nella sezione "Ulteriori informazioni sui file per Windows 7 e Windows Server 2008 R2".
-
MUM e file MANIFEST e i file di catalogo (CAT) di protezione associato, sono estremamente importanti per mantenere lo stato dei componenti aggiornati. Ai file del catalogo di sicurezza, i cui attributi non sono elencati, è stata applicata la firma digitale Microsoft.
Per tutte le versioni x86-based di Windows 7 supportate
File name |
File version |
File size |
Date |
Ora |
Piattaforma |
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 |
Per tutte le versioni basate su x64 supportate di Windows 7 e Windows Server 2008 R2
File name |
File version |
File size |
Date |
Ora |
Piattaforma |
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 |
Per tutte le versioni basate su IA-64 supportate di Windows Server 2008 R2
File name |
File version |
File size |
Date |
Ora |
Piattaforma |
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 |
Ulteriori informazioni sui file per Windows 7 e Windows Server 2008 R2
Ulteriori file per tutte le versioni supportate basate su x86 di Windows 7
File name |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,822 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,805 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,807 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,459 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,918 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
Versione file |
Non applicabile |
Dimensione file |
699 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
Versione file |
Non applicabile |
Dimensione file |
8,301 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:38 |
Piattaforma |
Non applicabile |
File aggiuntivi per tutte le versioni basate su x64 supportate di Windows 7 e Windows Server 2008 R2
Nome file |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
Versione file |
Non applicabile |
Dimensione file |
1,048 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
Versione file |
Non applicabile |
Dimensione file |
703 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
Versione file |
Non applicabile |
Dimensione file |
703 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
Versione file |
Non applicabile |
Dimensione file |
8,305 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:41 |
Piattaforma |
Non applicabile |
Nome file |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,832 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
2,237 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
2,015 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
2,036 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,467 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
2,830 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Versione file |
Non applicabile |
Dimensione file |
4,690 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
02:16 |
Piattaforma |
Non applicabile |
File aggiuntivi per tutte le versioni basate su IA-64 supportate di Windows Server 2008 R2
Nome file |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
Versione file |
Non applicabile |
Dimensione file |
1,046 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
Versione file |
Non applicabile |
Dimensione file |
8,303 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
2,029 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Versione file |
Non applicabile |
Dimensione file |
1,446 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
06:35 |
Piattaforma |
Non applicabile |
Nome file |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Versione file |
Non applicabile |
Dimensione file |
4,690 |
Date (UTC) |
05-Feb-2014 |
Time (UTC) |
02:16 |
Piattaforma |
Non applicabile |
Soluzione alternativa
Per risolvere questo problema, utilizzare uno dei seguenti accorgimenti adatto alle proprie esigenze.
Soluzione alternativa per lo Scenario 1
Assicurarsi che l'arresto dell'applicazione, ad esempio ping.exe, non forzatamente. Lasciare invece che l'applicazione normalmente arresto.
In alternativa, eseguire l'aggiornamento a Windows Server 2012. Questo problema è risolto in Windows Server 2012. Questa correzione impedisce che il servizio NSI perdite di memoria, indipendentemente da come l'arresto dell'applicazione.
Soluzione alternativa per lo Scenario 2
Uno sviluppatore di software è necessario creare più punti di manipolazione di ICMP per inviare le richieste ICMP. Se è necessario inviare un numero elevato di pacchetti ICMP, è necessario utilizzare i socket non elaborati e direttamente inviare e ricevere pacchetti ICMP sul socket RAW. In tal modo prestazioni più veloci.
Soluzione alternativa per Scenario 3
In questo scenario, se si disattiva e attiva la scheda di rete, l'utilizzo della memoria immediatamente diminuisce ma ha un breve picco di utilizzo della CPU.
Ciò si verifica perché quando si verifica una modifica dell'indirizzo IP oppure l'interfaccia, il servizio NSI notifica dal kernel. Il servizio NSI tenta quindi di avvisare tutti i client registrati per la notifica. Quando il servizio tenterà di notificare a un processo client che non esiste, la RPC segnalato un errore. Pertanto, il servizio NSI Elimina tutte le informazioni sullo stato per quel processo client è state salvate. Dopo questa operazione, che viene liberata memoria.
In questo caso, vengono registrate più notifiche di centinaia di migliaia. Dopo l'evento si verifica, viene liberata tutta la memoria per questi client non validi.
Questo problema è risolto in Windows 8.