Svchost.exe execută NSI service scurgerilor de memorie și pierdere de memorie rezerva paginată non etichetă NSpc

Simptome

Să presupunem că aveți o aplicație sau un instrument care se execută în Windows 7 sau Windows Server 2008 R2, și că aplicația sau instrumentul efectuează una sau mai multe dintre următoarele activități:

  • Monitorizarea alt server utilizând ICMP sau ping.exe

  • Începând cu mai multe procese de scurtă durată pentru a efectua o activitate și procesul apoi este oprit

  • Face orice activitate de rețea și procesul este oprit apoi de o altă aplicație sau script

În această situație, după ce serverul dvs. se execută în mod continuu pentru câteva ore sau mai multe zile, observați că serviciul de rețea magazin Interface (NSI) pierderi de memorie. În plus, observați următoarele simptome:

  • Dacă opriți software de monitorizare, se oprește pierdere de memorie.

  • Dacă opriți aplicația și apoi reporniți computerul, nici o pierdere de memorie se produce în serviciul NSI.

  • În unele cazuri, dacă îl dezactivați, apoi activați adaptorul de rețea, observați un indicator bruscă de utilizare CPU de serviciul NSI. În plus, utilizarea memoriei imediat provine drops 1 sau 2 gigaocteți (GO) la 200 sau 300 megaocteți (MO).

Această problemă poate apărea în oricare dintre următoarele scenarii.

Situaţia 1

Dacă o aplicație, cum ar fi ping.exe forţa este oprit, este posibil că IcmpCloseHandle funcție nu este apelat. În acest caz, serviciul NSI poate detecta că este disponibil un client. De aceea, serviciul continuu trimite notificări despre orice mesaje ICMP. Deoarece clientul nu există, lista de notificare continuă să crească. Lista nu obțineți curățat până când serviciul NSI este oprit.

Pentru a trimite un ping, trebuie să deschideți ICMP handle, și apoi utilizați aceste alte funcții IP Helper pentru trimiterea și primirea datelor ICMP:

IcmpCreateFile function

ICMPCreateFile function

IcmpSendEcho2Ex function

După ce aplicația trimite ping, acesta trebuie să apelați IcmpCloseHandle funcție pentru a închide ICMP handle.

Situaţia 2

Un dezvoltator de software-ul creează o aplicație pentru a trimite și primi mesaje ICMP utilizând IPHlelper APIs. Dacă doar un handle ICMP este utilizat pentru a trimite mesaje ICMP pentru mai multe clienți și dacă acest lucru nu-l la o rată foarte mare, API IPHelper care este notificat când se primește un mesaj nu poate menține viteza. În acest caz, observați că memoria service NSI continuă să crească exponențială. În plus, observați înalt de utilizare CPU de serviciul NSI (nsisvc.dll).

Scenariul 3

Aveți o aplicație sau un serviciu care direct sau indirect utilizează funcțiile IP Helper. Aplicația se oprește sau este oprit, și acesta nu se închide cu eleganță când fiecare înregistrare de notificare nu este revocată (CancelMibChangeNotify2). În acest caz, serverul NSI păstrează înregistrarea în așteptare pentru procesul care s-a oprit. Dacă există mai multe instanțe ale aplicației oprirea, serviciul NSI va avea mai multe înregistrări persistente. Pentru fiecare înregistrare se păstrează o stare de RPC asincron și alte informații. Se adaugă la utilizarea memoriei. De obicei, aceste înregistrări sunt concepute pentru o modificare interfață sau a adresei IP de Unicast. Dacă nu există nicio modificare în starea, aceste înregistrări încă se păstrează.

Următoarele funcții notificare sunt utilizate în timpul procesului de înregistrare:

Motiv că multe aplicații nu apela (CancelMibChangeNotify2) sau oprirea procesului prezentată în funcția NotifyIpInterfaceChange subiect pe site-ul Web Microsoft Developer Network.

După ce NotifyIpInterfaceChange funcţia este numit pentru a înregistra pentru notificări de modificare, aceste notificări continuă să fie trimis până când aplicația unregisters pentru a primi notificări de modificare sau se oprește în aplicație. Dacă aplicația se oprește, sistemul unregisters automat orice înregistrare pentru notificări de modificare. Vă recomandăm insistent să configurați o aplicație pentru a anula explicit pentru modificarea notificări înainte de a se opreşte.

Pentru fiecare înregistrare de notificare, face, de asemenea, să aloce unele memoria de rezervă nepaginate (NPP) pentruEticheta NSpc.

Cauză

Această problemă se produce deoarece procesul care registrele de notificare se închide fără prima anularea înregistrării din NSI serviciul. De aceea, o pierdere de înregistrare din NSI provoacă pierdere de memorie în serviciul NSI. În plus, NPP pierderi de memorie din NSI Proxy contexte etichetă NSpc (NSI.dll).

Rezolvare

Informații despre remedierea rapidă

O remediere rapidă este disponibilă de la Microsoft Support. Cu toate acestea, această remediere rapidă este destinată pentru a corecta doar problema descrisă în acest articol. Aplicați această remediere rapidă numai pentru sistemele care întâmpină problema descrisă în acest articol. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să aşteptaţi următoarea actualizare software care conţine această remediere rapidă.

Dacă remedierea rapidă este disponibilă pentru descărcare, există o secțiune "Descărcare remediere rapidă disponibilă" în partea de sus a acestui articol din baza de cunoștințe. Dacă nu apare această secţiune, contactaţi Microsoft Client Service și suport pentru a obţine remedierea rapidă.

Notă Dacă se produc probleme suplimentare sau este necesară depanarea, poate fi necesar să creați o solicitare de asistenţă separată. Costurile de obicei pentru suport se vor aplica pentru sprijin suplimentar, întrebări și probleme care nu sunt specifice pentru această remediere rapidă . Pentru o listă completă cu numerele de telefon ale clienților servicii și asistență Microsoft sau pentru a crea o solicitare de asistenţă separată, accesați următorul site Web Microsoft:

http://support.microsoft.com/contactus/?ws=support

Notă Formularul "Descărcare remediere rapidă disponibilă" afişează limbile pentru care este disponibilă remedierea rapidă. Dacă nu vedeți limba dvs., înseamnă că o remediere rapidă nu este disponibilă pentru respectiva limbă.

Cerinţe preliminare

Pentru a aplica această remediere rapidă, trebuie să aveți Service Pack 1 pentru Windows 7 sau Windows Server 2008 R2 instalat.

Cerinţă de repornire

Trebuie să reporniți computerul după aplicarea acestei remedieri rapide.

Informații despre înlocuirea remedierilor rapide

Această remediere rapidă nu înlocuiește nicio remediere rapidă lansată anterior.

Informații despre fișier

Versiunea în limba engleză (Statele Unite) a acestei remedieri rapide instalează fișierele care au atributele enumerate în tabelele următoare. Datele şi orele pentru aceste fişiere sunt exprimate în Timpul universal (UTC). Datele și orele pentru aceste fișiere pe computerul local sunt afișate în ora locală, luându-se în calcul decalajul actual pentru ora de vară (DST). În plus, datele şi orele se pot modifica atunci când efectuaţi anumite operaţiuni asupra fişierelor.

Note și informații despre fișier Windows 7 și Windows Server 2008 R2

Important Remedierile rapide pentru Windows 7 și Windows Server 2008 R2 sunt incluse în aceleași pachete. Cu toate acestea, remedierile rapide de pe pagina Solicitare remediere rapidă sunt listate sub ambele sisteme de operare. Pentru a solicita pachetul de remediere rapidă care se aplică la unul sau ambele sisteme de operare, selectați remedierea rapidă listată în pagină sub "Windows 7/Windows Server 2008 R2". Consultați întotdeauna secțiunea "Se aplică la" din articole pentru a determina sistemul de operare efectiv la care se aplică fiecare remediere rapidă.

  • Fișierele care se aplică la un anumit produs, SR_Level (RTM, SPn), și ramură de servicii (LDR, GDR) pot fi identificate examinând numerele de versiune ale fișierelor, așa cum se arată în tabelul următor.

    Versiune

    Produs

    SR_Level

    Ramură de servicii

    6.1.760 0. 16xxx

    Windows 7 și Windows Server 2008 R2

    RTM

    GDR

    6.1.760 1. 22xxx

    Windows 7 și Windows Server 2008 R2

    SP1

    LDR

  • Ramurile de servicii GDR conțin numai acele remedieri care sunt lansate la adresa pe scară largă, extrem de importante probleme. Ramurile de servicii LDR conțin remedieri rapide, în plus faţă de remedierile lansate global.

  • Fişierele MANIFEST (.manifest) și MUM (.mum) care sunt instalate pentru fiecare mediu sunt listate separat în secțiunea "Informații pentru Windows 7 și Windows Server 2008 R2 suplimentare de fișier".

  • MUM şi MANIFEST fișiere și fișierele catalog (.cat) de securitate asociate, sunt foarte importante pentru menținerea stării componentelor actualizate. Fişierele catalog de securitate, pentru care nu sunt listate atributele, sunt semnate cu o semnătură digitală Microsoft.

Pentru toate versiunile de Windows 7 x86 acceptate

Nume de fișier

Versiune fișier

Dimensiune fișier

Data

Ora

Platformă

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

Pentru toate versiunile pe 64 de biți de Windows 7 și Windows Server 2008 R2 acceptate

Nume de fișier

Versiune fișier

Dimensiune fișier

Data

Ora

Platformă

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

Pentru toate versiunile IA-64 de Windows Server 2008 R2

Nume de fișier

Versiune fișier

Dimensiune fișier

Data

Ora

Platformă

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

Informații suplimentare despre fișiere pentru Windows 7 și Windows Server 2008 R2

Fișiere suplimentare pentru toate versiunile de Windows 7 x86 acceptate

Nume de fișier

Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,822

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,805

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,807

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,459

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,918

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

699

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

8,301

Data (UTC)

05-Feb-2014

Ora (UTC)

06:38

Platformă

Nu este aplicabil

Fișiere suplimentare pentru toate versiunile bazate pe x64 acceptate de Windows 7 și Windows Server 2008 R2

Nume de fișier

Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,048

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

703

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

703

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

8,305

Data (UTC)

05-Feb-2014

Ora (UTC)

06:41

Platformă

Nu este aplicabil

Nume de fișier

Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,832

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

2.237

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

2,015

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

2,036

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,467

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

2,830

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

4,690

Data (UTC)

05-Feb-2014

Ora (UTC)

02:16

Platformă

Nu este aplicabil

Fișiere suplimentare pentru toate versiunile IA-pe 64 de biți de Windows Server 2008 R2

Nume de fișier

Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,046

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

8,303

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

2,029

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum

Versiune fișier

Nu este aplicabil

Dimensiune fișier

1,446

Data (UTC)

05-Feb-2014

Ora (UTC)

06:35

Platformă

Nu este aplicabil

Nume de fișier

Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest

Versiune fișier

Nu este aplicabil

Dimensiune fișier

4,690

Data (UTC)

05-Feb-2014

Ora (UTC)

02:16

Platformă

Nu este aplicabil

Soluție de evitare

Pentru a rezolva această problemă, utilizați una dintre soluțiile următoare, în funcție de situația dvs.

Soluție pentru scenariul 1

Asigurați-vă că aplicația, cum ar fi ping.exe, nu este oprit cu forţa. În schimb, permite aplicarea cu eleganță închidere.

Ca alternativă, faceți upgrade la Windows Server 2012. Această problemă este remediată în Windows Server 2012. Această remediere serviciul NSI împiedică scurgerea memorie indiferent cum se oprește aplicația.

Soluție pentru scenariul 2

Un dezvoltator de software ar trebui să creați mai multe ICMP handle-uri pentru a trimite solicitări ICMP. Dacă trebuie să trimiteți un număr mare de pachete ICMP, ar trebui să utilizați Raw sockets și direct trimiteți și primiți pachete ICMP pe racord brut. Acest lucru vă oferă performanțe mai rapide.

Soluție pentru scenariul 3

În acest scenariu, dacă îl dezactivați, activați adaptorul de rețea, utilizarea memoriei de imediat, scade dar are un indicator scurt de utilizare CPU.

Acest lucru se produce deoarece atunci când o modificare apare în adresa IP sau interfața, serviciul NSI este notificat de nucleu. Serviciul NSI apoi încearcă să fi comunicată toți clienții care sunt înregistrate de notificare. Atunci când serviciul încearcă să informeze un proces client care nu există, RPC raportează o eroare. De aceea, serviciul NSI șterge toate informațiile de stare, care a fost salvat pentru acel proces client. După ce se întâmplă acest lucru, memoria este eliberat.

În acest caz, sunt înregistrate mai multe sute de mii de notificări. După ce apare evenimentul, memoria pentru acești clienți nevalidă este eliberat.

Această problemă este remediată în Windows 8.

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×