Simptomi
Pretpostavimo da imate aplikacije ili alat koji funkcioniše u operativnom sistemu Windows 7 ili Windows Server 2008 R2, i da aplikacija ili alat obavlja jedan ili više od sledećih zadataka:
-
Monitoring drugi server pomoću ICMP-a ili ping.exe
-
Pokretanje više kratkotrajnog procesa za obavljanje posla, a proces je onda prestao
-
Aktivnosti mreže, a proces je onda prestao da druga aplikacija ili skripta
U ovoj situaciji, nakon što je vaš server će neprekidno biti pokrenuta za nekoliko sati ili nekoliko dana, primetite da je mrežu skladišta Interface (NSI) usluge curenja memorije. Pored toga, primetite sledećih simptoma:
-
Ako prestanete monitoring softver, zaustavlja curenje memorije.
-
Ako zaustaviti aplikaciju, a zatim ponovo pokrenite računalo, nema curenja memorije se javlja u NSI usluzi.
-
U nekim slučajevima, Ako onemogućite, a zatim omogućite mrežni adapter, primetite da iznenadan porast upotrebe CPU NSI usluga. Pored toga, korištenje memorije odmah dolazi kapi od 1 ili 2 gigabajta (GB) do 200-300 megabajta (MB).
Ovaj problem se može javiti u bilo kojoj od sledećih scenarija.
1. scenario
Ako aplikacija kao što je ping.exe je prisilno zaustavljen, je moguće da se ne zove IcmpCloseHandle funkciju . U ovom slučaju, NSI usluga može da otkrije da li postoji klijenta. Stoga, usluge konstantno slanje objava o tome da li ICMP poruka. Jer klijent ne postoji, obaveštenje lista nastavlja da se poveća. Na listi se ne sredi dok je NSI usluga je zaustavljena.
Da biste poslali ping, morate otvoriti regulator za ICMP-a, a zatim koristite ove druge funkcije IP pomagač za slanje i prijem podataka ICMP-a:
Nakon što je aplikacija šalje ping, to mora pozvati funkciju IcmpCloseHandle da zatvorite regulator za ICMP-a.
2. scenario
Softverski inženjer kreira aplikaciju za slanje i primanje ICMP poruka pomoću IPHlelper API-ja. Kad bi samo jedan regulator ICMP se koristi za slanje ICMP poruke za više klijenata, a ako to radi je to veoma velikim tempom, API za IPHelper to je obavešteni kada se primi poruka ne može da uskladi brzinu. U ovom slučaju, primetite da NSI servis memoriju nastavlja da raste eksponencijalno. Pored toga, primetite procesor NSI usluga (nsisvc.dll).
Scenario 3
Imate aplikacija ili usluga koji direktno ili indirektno koristi IP pomagač funkcije. Aplikacija prestaje ili je prestala, i to ne zatvori graciozno kada svaki obaveštenje o registraciji nije otkazana (CancelMibChangeNotify2). U ovom slučaju, na server NSI stalno registracije na čekanju za proces koji je prestao. Ako postoje mnoge instance aplikacije zastoj, NSI servis će imati mnogo dugotrajna registracija. U stanje async RPC-a i druge informacije se održavaju za svaku registraciju. To dodatno doprinosi korištenje memorije. Obično se ovi registracija su stvoreni za menjanje interfejsa ili promenu Unicast IP adresa. Ako postoji promena u državi, ovi registracija se i dalje održavaju.
Sljedeće sistemske funkcije se koriste prilikom registracije:
Razlog da mnoge aplikacije i ne zovi (CancelMibChangeNotify2) i zaustavite proces je diskutovan u temi NotifyIpInterfaceChange funkcija na Web lokaciji Microsoft Developer Network.
Nakon što je NotifyIpInterfaceChange funkcija se poziva da se registrujete za promenu obaveštenja, ova obaveštenja i dalje slati sve dok aplikacija unregisters da primate obaveštenja promena ili zaustavljanja na aplikaciju. Ukoliko se aplikacija zaustavi, sistem automatski unregisters bilo koji Registracija za promenu obaveštenja. Preporučujemo da konfigurišete aplikaciju izričito Poništavanje registracije za promenu obaveštenja pre nego što se zaustavlja.
Za svaku registraciju za obavijesti, pravite se da i dodeli neke Nestranično (NPP) memoriju za na uNSpc oznaka.
Uzrok
Do ovog problema dolazi zato što je proces koji se registruje za obavijesti izlazi bez prvi Poništavanje registracije iz NSI usluge. Stoga, registracija curenje u NSI uzrokuje curenje memorije u NSI servis. Pored toga, u NPP curenja memorije u NSI Proxy konteksta oznaka NSpc (NSI.dll).
Rešenje
Informacije o prilagodbenom popravku
Podržana hitna ispravka je dostupna od Microsoft Support. Međutim, ova hitna ispravka je namenjena za ispravljanje samo problem koji je opisan u ovom članku. Primenite je samo na sustave u kojima se pojavljuje problem opisan u ovom članku. Ova hitna ispravka možda će se dodatno testirati. Zbog toga, ako niste ozbiljno ugroženi ovaj problem, preporučujemo da sačekate sledeću softversku ispravku koja sadrži ovaj prilagodbeni popravak.
Ako je hitna ispravka dostupna za preuzimanje, postoji odeljak” dostupno je preuzimanje hitne ispravke „na vrhu ovog članka baze znanja. Ako ovaj odeljak nije prikazan, obratite se Microsoft korisničkoj službi i podršci da biste nabavili hitni popravak.
Napomena Ako dođe do dodatnih problema ili potreban je rešavanje problema, možda da kreirate na poseban zahtev za uslugu. Uobičajeni troškovi podrške važiće za dodatnu podršku pitanja i probleme koji nisu direktno povezani sa ovom određenom hitnom ispravkom. Potpun popis brojeva telefona Microsoft korisničkoj službi i podršci ili da biste kreirali na poseban zahtev za uslugu, pogledajte sledeće Microsoft Web lokacije:
http://support.microsoft.com/contactus/?ws=support
Napomena Obrascu” dostupno je preuzimanje hitne ispravke „prikazani su jezici na kojima je dostupna hitna ispravka. Ako ne vidite svoj jezik, to je zato što hitna ispravka nije dostupna na tom jeziku.
Preduslovi
Da biste primenili ovaj hitni popravak, morate imati Service Pack 1 za Windows 7 ili Windows Server 2008 R2 instaliran.
Zahtev za ponovnim pokretanjem
Morate ponovo pokrenuti računalo nakon što primijenite ovaj hitni popravak.
Informacije o zameni hitne
Ovaj prilagodbeni popravak ne zamjenjuje bilo koji prethodno objavljenu hitnu ispravku.
Informacije o datoteci
Engleski (Sjedinjene Države) verzije ovaj hitni popravak instalira datoteke koje imaju atribute koji su navedeni u sledećim tabelama. Datumi i vremena ovih datoteka navedeni su u UTC vremenu (Coordinated Universal Time). Datumi i vremena za ove datoteke na lokalnom računaru prikazuju se po lokalnom vremenu zajedno sa odstupanjem za trenutno letnje/zimsko računanje vremena (DST). Pored toga, datumi i vremena mogu se promeniti kada izvršite određene operacije na datotekama.
Informacije o datoteci Windows 7 i Windows Server 2008 R2 i napomene
Važno Ispravke za Windows 7 i ispravke za Windows Server 2008 R2 uključene su u iste pakete. Međutim, hitne ispravke na stranici „Zahtev za hitnu ispravku“ navedene su u okviru oba operativna sistema. Da biste zahtevali paket hitnih ispravki koji se odnosi na jedan ili oba operativna sistema, izaberite hitnu ispravku koja je navedena u okviru stavke „Windows 7/Windows Server 2008 R2“ na stranici. Uvek u člancima pogledajte odeljak „Odnosi se na“ da biste utvrdili na koji se operativni sistem svaka hitna ispravka odnosi.
-
Datoteke koje se odnose na određeni proizvod, SR_Level (RTM, SPn), i grana usluge (LDR, GDR) moguće je prepoznati ispitivanjem brojeve verzija datoteke, kao što je prikazano u tabeli.
Verzija
Proizvod
SR_Level
Grana usluge
6.1.760 0. 16xxx
Windows 7 i Windows Server 2008 R2
RTM
DDR
6.1.760 1. 22xxx
Windows 7 i Windows Server 2008 R2
SP1
LDR
-
DDR servis grane sadrže samo one ispravke koje su široko objavila da široka, izuzetno važna pitanjima. LDR grane usluge, pored globalno objavljenih ispravki, sadrže i hitne ispravke.
-
MANIFEST datoteke (.manifest) i MUM datoteke (.mum) koje su instalirane za svako okruženje su posebno navedeni u odeljku „Dodatni datoteka informacije za Windows 7 i Windows Server 2008 R2”.
-
Mama i MANIFEST datoteke i datoteke povezane bezbednosnog kataloga (.cat), su izuzetno važne za održavanje stanja ažurirane komponente. Datoteke bezbednosnog kataloga, za koje nisu navedeni atributi, potpisuju se Microsoft digitalnim potpisom.
Za sve podržane verzije operativnog sistema Windows 7 zasnovane na x86 procesorima
Ime datoteke |
Verzija datoteke |
Veličina datoteke |
Datum |
Vreme |
Platforma |
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 |
Za sve podržane verzije operativnih sistema Windows 7 i Windows Server 2008 R2 zasnovane na 64-bitnim procesorima
Ime datoteke |
Verzija datoteke |
Veličina datoteke |
Datum |
Vreme |
Platforma |
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 |
Za sve podržane IA-64-bitne verzije operativnog sistema Windows Server 2008 R2
Ime datoteke |
Verzija datoteke |
Veličina datoteke |
Datum |
Vreme |
Platforma |
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 |
Dodatne informacije o datotekama za Windows 7 i Windows Server 2008 R2
Dodatne datoteke za sve podržane x86-bitne verzije operativnog sistema Windows 7
Ime datoteke |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1 822 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,805 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,807 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,459 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,918 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
699 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
8,301 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:38 |
Platforma |
Not Applicable |
Dodatne datoteke za sve podržane x64-bitne verzije sustava Windows 7 i Windows Server 2008 R2
Ime datoteke |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,048 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
703 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
703 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
8,305 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:41 |
Platforma |
Not Applicable |
Ime datoteke |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,832 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
2,237 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
2,015 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
2,036 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,467 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
2,830 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
4,690 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
02:16 |
Platforma |
Not Applicable |
Dodatne datoteke za sve podržane IA-64-bitne verzije operativnog sistema Windows Server 2008 R2
Ime datoteke |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,046 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
8,303 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
2,029 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
1,446 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
06:35 |
Platforma |
Not Applicable |
Ime datoteke |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Verzija datoteke |
Not Applicable |
Veličina datoteke |
4,690 |
Datum (UTC) |
05-Feb-2014 |
Vremenu (UTC) |
02:16 |
Platforma |
Not Applicable |
Rešenje
Da biste rešili ovaj problem, koristite jedan od sljedećih privremenih rješenja u zavisnosti od situacije.
Zaobilazno rješenje za Scenario 1
Uverite se da aplikacija, kao što su ping.exe, prisilno ne prekine. Umesto toga, neka aplikacija graciozno isključivanja.
Druga mogućnost je da izvršite nadogradnju na Windows Server 2012. Ovaj problem je rešen u Windows Server 2012. Ovu ispravku sprečava curenje memorije, bez obzira na to kako je zaustavio aplikacija NSI servis.
Zaobilazno rješenje za Scenario 2
Softverski programer bi trebalo da kreirate više ICMP regulatore da šalje pozive za ICMP-a. Ako morate da pošaljete veliki broj ICMP paketi, trebalo bi da koristite Raw sockets i direktno šaljete i primate ICMP paketi na sirovo priključak. To će dati najbrže performanse.
Zaobilazno rješenje za Scenario 3
U ovom scenariju, Ako onemogućite i omogućivanja mrežnog prilagodnika, korištenje memorije odmah smanjuje ali ima kratak porast od iskorišćenost CPU-a.
To se dešava jer kad promenu javi u IP adresu ili interfejs, je NSI servis obavešteni jezgra. NSI usluga pokušava da notifiy svim klijentima koji su registrovani za obaveštenje. Kada je usluga pokuša da obavijesti klijenta proces koji ne postoji, na RPC prijavljuje grešku. Stoga, NSI usluga briše sve informacije država koja je bila sačuvana za taj proces klijenta. Nakon što se ovo dogodi, to je oslobodili memoriju.
U ovom slučaju, nekoliko stotina hiljada obaveštenja se registruju. Nakon što se događaj desi, oslobodio je svu memoriju za ove nevažeće klijente.
Ovaj problem je rešen u Windows 8.