Symptomer
Anta at du har et program eller verktøy som kjører i Windows 7 eller Windows Server 2008 R2, og at programmet eller verktøyet utfører en eller flere av følgende oppgaver:
-
Overvåking av en annen server ved hjelp av ICMP- eller ping.exe
-
Deretter er starter flere kortvarig prosesser til å utføre en jobb, og prosessen stoppet
-
Deretter er gjør en hvilken som helst aktivitet i nettverket, og prosessen stoppet av et annet program eller skript
I dette tilfellet, etter at serveren kjører kontinuerlig i flere timer eller flere dager, ser du at minnelekkasje tjenesten Network butikken grensesnitt (NSI). I tillegg kan du se følgende symptomer:
-
Hvis du stopper overvåking programvaren, stopper minnelekkasje.
-
Hvis du stopper programmet og start deretter datamaskinen på nytt, oppstår ingen minnelekkasje i NSI-tjenesten.
-
I noen tilfeller Hvis du deaktiverer og deretter aktivere nettverkskortet, oppdage du en plutselig innsamlingslageret av CPU-bruken av tjenesten NSI. I tillegg kommer minnebruken umiddelbart fall fra 1 eller 2 gigabyte (GB) til 200 eller 300 megabyte (MB).
Dette problemet kan oppstå i noen av følgende scenarier.
Scenario 1
Hvis et program som ping.exe tvang er stoppet, er det mulig at funksjonen IcmpCloseHandle ikke kalles. I dette tilfellet kan NSI-tjenesten oppdage at det er en klient. Derfor sender tjenesten kontinuerlig meldinger om ICMP-meldinger. Fordi klienten ikke finnes, fortsetter varslingslisten å øke. Listen ikke fjernes til NSI-tjenesten er stoppet.
Hvis du vil sende en ping, må du åpne ICMP-referanse, og deretter bruke disse IP-Helper-funksjonene til å sende og motta ICMP-data:
Når applikasjonen sender ping-kommandoen, må den kalle IcmpCloseHandle-funksjonen for å lukke ICMP-håndtak.
Scenario 2
Programvareutvikler oppretter et program for å sende og motta ICMP-meldinger ved hjelp av IPHlelper APIs. Hvis bare én ICMP-referansen brukes til å sende ICMP-meldinger til flere klienter, og hvis den gjør det gjør det med en svært høy hastighet, kan ikke IPHelper-APIen er varslet når en melding mottas opprettholde hastigheten. I dette tilfellet vil du merke at minnet NSI-tjenesten fortsetter å vokse eksponentielt. I tillegg vil du se høy CPU-bruk av NSI-tjenesten (nsisvc.dll).
Scenario 3
Du har et program eller en tjeneste som bruker IP-hjelpefunksjonenedirekte eller indirekte. Programmet stopper eller er stoppet, og det ikke avslutter normalt når hvert varsel-registrering ikke er avbrutt (CancelMibChangeNotify2). I dette tilfellet holder NSI-server registreringen venter for prosessen er stoppet. Hvis det er mange forekomster av programmet stoppage, har mange lingering registreringer NSI-tjenesten. En asynkron RPC-status og annen informasjon beholdes for hver registrering. Dette legger til minnebruken. Vanligvis er disse registreringene gjort for en endring av brukergrensesnitt eller endre en Unicast IP-adresse. Hvis det er ingen endring i status, disse registreringene er bevart.
Følgende varsel funksjoner brukes under registreringen:
Årsaken til at mange programmer ikke Ring (CancelMibChangeNotify2) eller stoppe prosessen er beskrevet i emnet NotifyIpInterfaceChange funksjon på webområdet Microsoft Developer Network.
Når NotifyIpInterfaceChange -funksjonen kalles for å registrere for varsel om endring, fortsetter disse meldingene sendes til programmet Avregistrerer Hvis du vil motta varsel om endring eller programstopper. Hvis programmet stopper, Avregistrerer systemet automatisk alle registreringen for varsler om. Vi anbefaler at du konfigurerer et program for å avregistrere eksplisitt for endringsvarsler før den stopper.
For hver registrering for meldingen, må du også tildele ikke-sidevekslet utvalg (NPP) minne for den i NSpc-kode.
Årsak
Dette problemet oppstår fordi prosessen som registreres for varsling avslutter uten første avregistrering fra NSI-tjenesten. Derfor forårsaker registrering-lekkasje i NSI minnelekkasje i NSI-tjenesten. I tillegg, NPP minnelekkasje i NSI Proxy kontekster koden NSpc (NSI.dll).
Oppløsning
Informasjon om hurtigreparasjon
En støttet hurtigreparasjon er tilgjengelig fra Microsoft Support. Denne hurtigreparasjonen er imidlertid ment å løse problemet som er beskrevet i denne artikkelen. Bruk denne hurtigreparasjonen bare på systemer som har problemet som er beskrevet i denne artikkelen. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på neste programvareoppdatering som inneholder denne hurtigreparasjonen.
Hvis hurtigreparasjonen er tilgjengelig for nedlasting, finnes delen "Nedlasting av hurtigreparasjoner tilgjengelig" øverst i denne Knowledge Base-artikkelen. Hvis denne delen ikke vises, kan du kontakte Microsofts kundeservice og kundestøtte for å få hurtigreparasjonen.
Obs! Hvis det oppstår andre problemer, eller hvis feilsøkingstips, må du kanskje opprette en separat forespørsel om. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av denne oppdateringen. For en fullstendig liste over telefonnumre for Microsofts kundeservice og kundestøtte eller opprette en separat forespørsel om, kan du gå til følgende Microsoft-webområde:
http://support.microsoft.com/contactus/?ws=support
Obs! "Nedlasting av hurtigreparasjoner tilgjengelig"-skjemaet viser språk hurtigreparasjonen er tilgjengelig. Hvis du ikke ser språket ditt, er det fordi en hurtigreparasjon ikke er tilgjengelig for dette språket.
Forutsetninger
Hvis du vil bruke denne hurtigreparasjonen, må du ha Service Pack 1 for Windows 7 eller Windows Server 2008 R2 er installert.
Krav om omstart
Du må starte datamaskinen etter at du har installert denne hurtigreparasjonen.
Informasjon om erstatning av hurtigreparasjoner
Denne hurtigreparasjonen erstatter ikke andre oppdateringer.
Filinformasjon
Den engelskspråklige (USA) versjonen av denne hurtigreparasjonen installerer filer med attributtene som er oppført i tabellene nedenfor. Datoene og klokkeslettene for disse filene er oppført i Coordinated Universal Time (UTC). Datoene og klokkeslettene for disse filene på den lokale datamaskinen, vises i lokal tid sammen med din gjeldende tidsforskjell for sommertid (DST). I tillegg kan til datoene og klokkeslettene endres når du utfører bestemte operasjoner på filene.
Informasjon om Windows 7 og Windows Server 2008 R2 og notater
Viktig Hurtigreparasjoner for Windows 7 og Windows Server 2008 R2 hurtigreparasjoner er inkludert i de samme pakkene. Hurtigreparasjoner på siden Be om hurtigreparasjonen er imidlertid oppført under begge operativsystemene. Hvis du vil be om hurtigreparasjonspakken som gjelder ett eller begge operativsystemene, kan du velge hurtigreparasjonen som er oppført under "Windows 7/Windows Server 2008 R2" på siden. Se delen "Gjelder" i artiklene for å fastslå det faktiske operativsystemet som gjelder hver hurtigreparasjon for alltid.
-
Filene som gjelder for et bestemt produkt, SR_Level (RTM, SPn) og avdeling (LDR, GDR), kan identifiseres ved å kontrollere filversjonsnumrene, som vist i følgende tabell.
Versjon
Produkt
SR_Level
Avdeling
6.1.760 0. 16xxx
Windows 7 og Windows Server 2008 R2
RTM
GDR
6.1.760 1. 22 - xxx
Windows 7 og Windows Server 2008 R2
SP1
LDR
-
GDR-grener inneholder bare de reparasjonene som er bredt publikum for å løse omfattende, kritiske problemer. LDR-avdelinger inneholder hurtigreparasjoner i tillegg til mye utgis.
-
MANIFEST-filene (.manifest) og MUM-filene (.mum) som installeres for hvert miljø, er oppført separat i delen "Mer Filinformasjon for Windows 7 og Windows Server 2008 R2".
-
MUM- og MANIFEST-filer og tilknyttede sikkerhetskatalogfiler (.cat)-filer, er det svært viktig å vedlikeholde statusen for de oppdaterte komponentene. Sikkerhetskatalogfilene, som attributtene ikke er oppført, er signert med Microsofts digitale signatur.
For alle støttede x86-baserte versjoner av Windows 7
Filnavn |
Filversjon |
Filstørrelse |
Dato |
Tid |
Plattform |
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 |
For alle støttede x64-baserte versjoner av Windows 7 og Windows Server 2008 R2
Filnavn |
Filversjon |
Filstørrelse |
Dato |
Tid |
Plattform |
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 |
For alle støttede IA-64-baserte versjoner av Windows Server 2008 R2
Filnavn |
Filversjon |
Filstørrelse |
Dato |
Tid |
Plattform |
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 |
Mer filinformasjon for Windows 7 og Windows Server 2008 R2
Tilleggsfiler for alle støttede x86-baserte versjoner av Windows 7
Filnavn |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,822 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,805 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,807 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,459 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,918 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
699 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
8,301 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:38 |
Plattform |
Ikke tilgjengelig |
Tilleggsfiler for alle støttede x64-baserte versjoner av Windows 7 og Windows Server 2008 R2
Filnavn |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,048 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
703 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
703 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
8,305 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:41 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,832 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
2,237 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
2,015 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
2,036 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,467 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
2,830 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
4,690 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
02:16 |
Plattform |
Ikke tilgjengelig |
Tilleggsfiler for alle støttede IA-64-baserte versjoner av Windows Server 2008 R2
Filnavn |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,046 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
8,303 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
2,029 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
1,446 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
06:35 |
Plattform |
Ikke tilgjengelig |
Filnavn |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Filversjon |
Ikke tilgjengelig |
Filstørrelse |
4,690 |
Dato (UTC) |
05-Feb-2014 |
Tid (UTC) |
02:16 |
Plattform |
Ikke tilgjengelig |
Løsningen
Hvis du vil omgå dette problemet, kan du bruke én av følgende løsninger som gjelder for deg.
Løsning for Scenario 1
Kontroller at programmet, for eksempel ping.exe, ikke tvinge stoppet. I stedet la programmet elegant avslutning.
Du kan også oppgradere til Windows Server 2012. Dette problemet er løst i Windows Server 2012. Denne hurtigreparasjonen hindrer at tjenesten NSI lekker minne uavhengig av hvordan programmet er stoppet.
Løsning for Scenario 2
Programvareutvikler bør opprette flere ICMP-referanser for å sende ICMP-forespørsler. Hvis du må sende et stort antall ICMP-pakker, bør du bruke rene socketer og direkte sender og mottar ICMP-pakker på RAW socket. Dette gir raskest ytelse.
Løsning for Scenario 3
I dette tilfellet hvis du deaktivere og aktivere nettverkskortet, minnebruken umiddelbart reduseres, men har en kort innsamlingslageret av CPU-bruken.
Dette skjer fordi når det skjer en endring i IP-adressen eller grensesnittet, NSI-tjenesten er varslet av kjernen. NSI-tjenesten forsøker deretter å notifiy alle klienter som er registrert for meldingen. Når tjenesten prøver å varsle en klientprosess som ikke finnes, vil RPC rapporterer en feil. Derfor NSI-tjenesten, slettes all statlig informasjon som ble lagret for at klientprosessen. Når dette skjer, som er frigjort minne.
I dette tilfellet registreres flere hundre tusen varslinger. Når hendelsen inntreffer, er alt minne for disse ugyldige klienter frigjort.
Dette problemet er løst i Windows 8.