Svchost.exe pokrenut servis KO curenje memorije i osipanja memorije nepaginirano skup oznaka NSpc

Vrijedi za: Windows Server 2008 R2 Service Pack 1Windows 7

Simptomi


Pretpostavimo da imate aplikacije ili alat je pokrenut u sustavu Windows 7 ili Windows Server 2008 R2 i da aplikacija ili alat izvodi jedno ili više od sljedećih zadataka:

  • Nadzor drugog poslužitelja korištenjem ICMP ili ping.exe
  • Početni više short-lived procesa za izvršavanje posla i postupak zatim zaustavljen.
  • Način bilo koju aktivnost mreže i postupak zatim zaustavljen neki drugi program ili skripte

U tom slučaju nakon vašeg poslužitelja radi kontinuirano nekoliko sati ili nekoliko dana, zapamtite da servis mrežnog spremišta sučelja (KO) curenje memorije. Uz to, primijetiti sljedeće simptome:

  • Ako zaustavite nadzor softver zaustavlja se memorija osipa.
  • Ako zaustavite aplikaciju i zatim ponovo pokrenite računalo bez memorija se osipa u KO servisa.
  • U nekim slučajevima, Ako onemogućite i omogućiti mrežni prilagodnik primijetite iznenadno Šiljak procesora KO servis. Uz to, Upotreba memorije odmah dolazi Spusti iz 1 ili 2 gigabajta (GB) za 200 ili 300 megabajta (MB).

Problem se može pojaviti u bilo koji od sljedećih scenarija.

Prvi scenarij

Ako je aplikacija kao što je ping.exe prisilno Zaustavi, moguće je da funkcija IcmpCloseHandle se naziva. U tom slučaju servis KO može prepoznati ima li klijent. Stoga, servis neprestano Pošalji obavijesti o ICMP poruke. Jer klijent ne postoji, popisu obavijesti nastavlja povećati. Dohvati očistiti popis dok servis KO je zaustavljen.

Slanje u ping imate otvorite držač ICMP i koristiti ove funkcije IP Pomoćnik za slanje i primanje podataka ICMP:

IcmpCreateFile funkcija

ICMPCreateFile funkcija

IcmpSendEcho2Ex funkcija

Nakon aplikacija šalje na ping, morate poziv funkcije IcmpCloseHandle za zatvaranje ICMP držač.

Drugi scenarij

Razvojni inženjer stvara aplikacije za slanje i primanje poruka ICMP korištenjem API IPHlelper. Ako samo jedan držač ICMP koristi za slanje ICMP poruka za više klijenata, a ako ne to ne ga vrlo visoka brzina, IPHelper API koje je obavijest kada poruka primljena ne može održavati brzinu. U tom slučaju primijetite memorije servisa KO nastavlja se eksponencijalno povećanje. Uz to, primijetite veliku potrošnju procesora KO usluga (nsisvc.dll).

Scenarij 3

Imate aplikacija ili servis koji izravno ili neizravno koristi IP pomagač funkcije. Aplikacija prestaje ili je zaustavljen, i on nije Izađi bez poteškoća prilikom svakog Registracija obavijesti nije otkazane (CancelMibChangeNotify2). U tom slučaju KO poslužitelj zadržava Registracija Neriješen za proces koji je prestao. Ako postoji mnogo instanci aplikacije stoppage, servis KO će imati mnogo lingering registracije. Za svaki registraciju održava se stanju asinkrone RPC i druge informacije. Dodaje se na korištenje memorije. Obično su te registracije izvršene za sučelje promjena ili promjenu jednosmjernog IP adresu. Ako nema promjena u stanju, održavaju se još uvijek ove registracije.

Sljedeće funkcije obavijesti se koriste tijekom postupka registracije:

Razlog da mnoge aplikacije ne poziva (CancelMibChangeNotify2) ili zaustaviti postupak opisan u temi NotifyIpInterfaceChange funkcija na web-mjestu Microsoft Developer Network.

Nakon NotifyIpInterfaceChange funkcija zove se registrirati za obavijesti o promjeni tih obavijesti nastaviti šalje dok ne unregisters aplikacije za primanje obavijesti o promjeni ili zaustavlja aplikacije. Ako se program Zaustavi, sustav automatski unregisters bilo registracija za promjenu obavijesti. Preporučujemo da konfigurirati aplikaciju izričito deregistracija za promjenu obavijesti prije prestane.

Za svaki registracija za obavijesti napravite također dodijeliti memoriju neka aplikacija – Nestraničeno (NPP) za na uOznaka NSpc.

Uzrok


Taj se problem pojavljuje jer postupak koja registrira obavijesti izlazi iz bez Poništavanje registriranja prvi iz usluge KO. Stoga osipanja registracije u KO uzrokuje osipanja memorije u KO servisa. Uz to, u NPP poteškoća s osipanjem memorije u KO Proxy konteksti oznaku NSpc (NSI.dll).

Rješenje


Informacije o hitnim popravkom

Podržani prilagodbeni popravak dostupan je iz Microsoft Support. No taj hitni popravak je namijenjen samo ispravku problema opisanog u ovom članku. Da biste primijenili taj hitni popravak samo na sustave kojima dolazi do problema opisanog u ovom članku. Taj hitni popravak možda dodatno testirati. Stoga, ako vam se ne uzrokuje taj problem, preporučujemo da pričekate sljedeće ažuriranje softvera koje sadrži taj hitni popravak.

Ako hitni popravak dostupan je za preuzimanje, postoji odjeljak "Moguće je preuzeti hitni popravak označeno" na vrhu ovog članka iz baze znanja. Ako se taj odjeljak ne pojavi, obratite se Microsoftove službe za podršku da biste nabavili hitni popravak.

Napomena Ako se pojave dodatni problemi ili je potrebno otklanjanje poteškoća, možda ćete morati stvoriti zaseban zahtjev za uslugom. Uobičajeni podršku troškovi će primijeniti na dodatna pitanja i probleme koji nemaju veze s ovim hitnim popravkom. Potpun popis brojeva telefona Microsoftove službe za podršku ili stvoriti zaseban zahtjev za uslugom, posjetite sljedeće Microsoftovo web-mjesto:

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

Napomena U obrascu "Moguće je preuzeti hitni popravak označeno" prikazuje jezicima za koje je hitni popravak dostupan. Ako ne vidite svoj jezik, je jer hitni popravak nije dostupan za taj jezik.

Preduvjeti

Da biste primijenili taj hitni popravak, morate imati Service Pack 1 za Windows 7 ili Windows Server 2008 R2 instaliran.

Potreba za ponovnim pokretanjem

Nakon primjene ovog hitnog popravka morate ponovo pokrenuti računalo.

Informacije o zamjeni hitnog popravka

Ovaj hitni popravak nije zamjena za sve prethodno objavljeno hitni popravak.

Podaci o datoteci

Engleski (Sjedinjene Države) verzija tog hitnog popravka instalira datoteka s atributima navedenima u sljedećim tablicama. Datumi i sati za te datoteke izraženi su u koordiniranom univerzalnom vremenu (UTC). Datumi i sati za te datoteke na lokalnom računalu prikazuju se u lokalnom vremenu i s trenutnim računanjem vremena (ljetno, zimsko). Uz to, datumi i vrijeme mogu se promijeniti prilikom izvršavanja određenih operacija na datotekama.

Windows 7 i Windows Server 2008 R2 informacije o datoteci i bilješke

Važno Hitni popravci sustava Windows 7 i Windows Server 2008 R2 dio su istih paketa. No hitni popravci na stranici Zahtjev za hitni popravak navedeni su za oba operacijska sustava. Da biste zatražili paket hitnih popravaka koji se primjenjuje na jedan ili oba operacijska sustava, odaberite hitni popravak naveden na stranici u odjeljku „Windows 7/Windows Server 2008 R2”. Da biste utvrdili na koji se operacijski sustav odnosi određeni hitni popravak, obavezno u članku pročitajte odjeljak „Odnosi se na”.

  • Datoteke koje primijenite na određeni proizvod, SR_Level (RTM, SPn) i usluge granu (LDR, GDR) mogu se prepoznati po ispitivanje brojevi verzija datoteke kao što je prikazano u sljedećoj tablici.

    Verzija

    Proizvod

    SR_Level

    Servisni ogranak

    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

  • GDR usluge grana sadržavati samo popravke koji su široko lansirani Primamo, izuzetno važne probleme. Servisni ogranci LDR sadrže hitne popravke kao dodatak objavljenim popravcima.
  • MANIFEST datoteka (.manifest) i MUM datoteke (.mum) koji su instalirani za svaku okolinu popisuju se zasebno u odjeljku "Dodatne datoteke informacije za Windows 7 i Windows Server 2008 R2".
  • MUM i MANIFESTA datoteke i datoteke kataloga (.cat) pridruženu sigurnost su izuzetno važne za održavanje stanje ažurirane komponente. Datoteke sigurnosnog kataloga (atributi nisu navedeni) potpisane su Microsoftovim digitalnim potpisom.
Za sve podržane verzije sustava Windows 7 na arhitekturi x86

Naziv datoteke

Verzija datoteke

Veličina datoteke

Datum

Vrijeme

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 sustava Windows 7 i Windows Server 2008 R2 na arhitekturi x64

Naziv datoteke

Verzija datoteke

Veličina datoteke

Datum

Vrijeme

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 sustava Windows Server 2008 R2

Naziv datoteke

Verzija datoteke

Veličina datoteke

Datum

Vrijeme

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

Informacije o dodatne datoteke za Windows 7 i Windows Server 2008 R2

Dodatne datoteke za sve podržane verzije utemeljene na x86 sustava Windows 7

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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 verzije utemeljene na x64 Windows 7 i Windows Server 2008 R2

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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 sustava Windows Server 2008 R2

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Naziv 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

Zaobilazno rješenje

Da biste zaobišli taj problem, koristite jednu od sljedećih zaobilazna rješenja kao ovisno o situaciji.

Zaobilazno rješenje za scenarij 1

Provjerite da aplikacija, kao što je ping.exe, nije prisilno zaustavljen. Umjesto toga, omogućuju aplikaciju bez poteškoća prilikom isključivanja.

Alternativno, nadogradite na Windows Server 2012. Ovaj je problem riješen u 2012 Windows Server. Ovaj popravak sprječava propušta memorije neovisno o kako je zaustavljen aplikacije servisa KO.

Zaobilazno rješenje za scenarij 2

Razvojni inženjer treba stvoriti više držača ICMP slanje ICMP zahtjeva. Ako morate poslati velik broj ICMP pakete, trebali biste koristiti Raw sockets i izravno šaljete i primate ICMP pakete na RAW utičnice. Dat će najbrže performanse.

Zaobilazno rješenje za scenarij 3

U ovom scenariju Ako onemogućite i omogućiti mrežni prilagodnik upotreba memorije odmah smanjuje ali ima kratki Šiljak korištenja CPU-a.

To se događa jer kada se dogodi promjena u IP adresu ili sučelje, KO usluga obaviješteni Jezgra sustava. Servis KO zatim pokušava notifiy klijenti koji su registrirani za obavijesti. Kada usluga pokuša obavijestiti klijent proces koji ne postoji, u RPC prijavljuje pogrešku. Stoga, servis KO briše sve informacije o stanju spremanja za taj proces klijenta. Nakon što se to dogodi, koji osloboditi memoriju.

U tom slučaju su registrirane nekoliko sto tisuće obavijesti. Nakon pojavljivanja događaja oslobođena je memorije za klijente te nije valjan.

Ovaj je problem riješen u Windows 8.