Příznaky
Předpokládejme, že máte aplikaci nebo nástroj, který je spuštěn v systému Windows 7 nebo Windows Server 2008 R2 a že aplikaci nebo nástroj provádí jeden nebo více z následujících úkolů:
-
Sledování jiného serveru pomocí protokolu ICMP nebo ping.exe
-
Spuštění více krátkodobý procesy provádět úlohy a proces je zastaven pak
-
Provádění jakékoli činnosti sítě a proces je zastaven pak jiná aplikace nebo skript
V takovém případě po serveru běží nepřetržitě několik hodin nebo několik dní si všimnete, že služba síťového úložiště rozhraní (NSI) nevrací paměť. Navíc zjistíte následující příznaky:
-
Chcete-li zrušit monitorovací software, zastaví nevracení paměti.
-
Pokud tuto aplikaci ukončit a potom restartujte počítač, žádné nevrací paměť ve službě společnosti NSI.
-
V některých případech Pokud zakázat a povolit síťový adaptér zaznamenáte náhlé zásobníku využití procesoru službou společnosti NSI. Navíc využití paměti okamžitě pochází kapky 1 nebo 2 gigabajty (GB) 200 nebo 300 megabajtů (MB).
Tomuto problému může dojít v některém z následujících scénářů.
Scénář 1
Pokud je aplikace například ping.exe nuceně ukončena, je možné, že není volána funkce IcmpCloseHandle . V tomto případě služba NSI může zjistit, že je klient. Proto služba neustále odesílat upozornění na všechny zprávy protokolu ICMP. Vzhledem k tomu, že klient neexistuje, i nadále vylepšuje seznamu oznámení. V seznamu získat nevyčištěných až po zastavení služby společnosti NSI.
Pokud chcete poslat ping, je třeba otevřít popisovač protokolu ICMP a potom pomocí těchto IP Helper funkcí odesílat a přijímat data protokolu ICMP:
Funkce pro vytvoření souboru IcmpCreateFile
Funkce pro vytvoření souboru ICMPCreateFile
Poté, co aplikace odešle příkaz ping, musí volat funkci IcmpCloseHandle zavřít popisovač protokolu ICMP.
Scénář 2
Vývojář vytvoří aplikace pro odesílání a přijímání zpráv protokolu ICMP pomocí rozhraní API IPHlelper. Pokud pouze jeden popisovač protokolu ICMP slouží k odesílání zpráv protokolu ICMP pro více klientů a pokud ano, to je velmi vysokou rychlostí, IPHelper API, která je oznámena, když je přijata zpráva nelze udržovat rychlost. V takovém případě si všimnete, že paměti služby společnosti NSI stále narůstá geometrickou řadou. Navíc můžete si všimnout vysoké využití procesoru službou společnosti NSI (nsisvc.dll).
Scénář 3
Máte aplikace nebo služby, které přímo nebo nepřímo používá Funkce Pomocník IP. Aplikace přestane nebo je zastavena, a neexistuje řádně při každé registrace oznámení není zrušeno (CancelMibChangeNotify2). V tomto případě NSI server udržuje registrace až do procesu, který je zastaven. Pokud existuje více instancí aplikace zastavení, NSI služby bude mít mnoho permanentních registrace. Každý zápis je udržována stavu asynchronní vzdálené volání Procedur a dalších informací. Přidá využití paměti. Tyto registrace jsou obvykle provedeny pro rozhraní nebo změna adresy IP jednosměrového vysílání. Pokud nedojde ke změně ve státě, budou tyto registrace zůstane zachováno.
Během procesu registrace jsou použity následující funkce oznámení:
Důvod mnoho aplikací volání (CancelMibChangeNotify2) nebo zastavit proces je popsán v tématu funkce NotifyIpInterfaceChange na webu Microsoft Developer Network.
Po volání funkce NotifyIpInterfaceChange pro registraci pro oznamování změn těchto oznámení nadále možné odesílat, dokud aplikace zruší registraci k přijímání oznámení o změně nebo ukončení aplikace. Pokud se aplikace zastaví, systém automaticky zruší registraci jakékoli registraci pro oznamování změn. Doporučujeme nakonfigurovat aplikaci explicitně registraci pro oznamování změn před zastaví.
Pro každé registraci pro oznámení provedete také přidělení paměti nestránkovaného fondu (agent NPP)Značky NSpc.
Příčina
K tomuto problému dochází, protože proces, který zaregistruje oznámení ukončí bez první registrace služby společnosti NSI. Proto nevracení registrace u společnosti NSI způsobí, že nevracení paměti ve službě společnosti NSI. Dále, agent NPP nevrací paměť v NSI Proxy kontexty značky NSpc (NSI.dll).
Řešení
Informace o opravě hotfix
Podporovaná oprava hotfix je k dispozici z Microsoft Support. Tato oprava hotfix je však určena pouze problému popsanému v tomto článku. Tuto opravu hotfix instalujte pouze do systémů, ve kterých dochází k potížím popsaným v tomto článku. Tato oprava hotfix může být dále testována. Proto pokud nejste vážně ohrožen tímto problémem, doporučujeme počkat na další aktualizaci softwaru, která obsahuje tuto opravu hotfix.
Pokud je oprava hotfix k dispozici ke stažení, je v horní části tohoto článku znalostní báze Knowledge Base oddíl "Oprava Hotfix je dostupná ke stažení" . Pokud tato sekce není uvedena, obraťte se na Zákaznický servis a podporu společnosti Microsoft k získaní opravy hotfix.
Poznámka Pokud nastanou další problémy nebo bude nutné další řešení potíží, bude možná třeba vytvořit další samostatný požadavek na služby. Běžná cena za technickou podporu se vztahuje k dodatečným otázkám podpory a k problémům, které se netýkají této konkrétní opravy hotfix. Úplný seznam telefonních čísel Zákaznického servisu a podpory společnosti Microsoft naleznete na následujícím webu podpory společnosti Microsoft, kde také můžete vytvořit samostatný požadavek na služby:
http://support.microsoft.com/contactus/?ws=support
Poznámka Ve formuláři „Oprava hotfix je dostupná ke stažení“ se zobrazují jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, to je protože oprava hotfix není k dispozici pro daný jazyk.
Požadavky
Chcete-li nainstalovat tuto opravu hotfix, musí mít Service Pack 1 pro systém Windows 7 nebo Windows Server 2008 R2 nainstalována.
Požadavky na restartování
Po instalaci této opravy hotfix musíte restartovat počítač.
Informace o nahrazení opravy Hotfix
Tato oprava hotfix nenahrazuje žádnou dříve vydanou opravu hotfix.
Informace o souborech
Angličtina (Spojené státy) verze této opravy hotfix nainstaluje soubory, jejichž atributy, které jsou uvedeny v následujících tabulkách. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Data a časy těchto souborů se zobrazují v místním počítači podle místního času a podle aktuálního nastavení letního času. Data a časy se mohou změnit, provedete-li se soubory určité operace.
Informace o souboru a poznámky systému Windows 7 a Windows Server 2008 R2
Důležité: Opravy hotfix pro Windows 7 a Windows Server 2008 R2 jsou ve stejných balíčcích. Opravy hotfix na stránce požadavku na opravu hotfix jsou však uvedeny v sekcích obou operačních systémů. Chcete-li požádat o balíček opravy hotfix pro jeden nebo oba operační systémy, vyberte opravu hotfix uvedenou na této stránce v sekci pro systém Windows 7/Windows Server 2008 R2. V článcích vždy zjistíte operační systém, pro který je daná oprava hotfix určena, v sekci Tato oprava hotfix je určena pro následující operační systém.
-
Soubory týkající se konkrétního produktu, SR_Level (RTM, SPn) a služby (LDR, GDR) lze identifikovat porovnáním čísel verzí souborů podle následující tabulky.
Verze
Produkt
SR_Level
Složka služby
6.1.760 0. 16xxx
Windows 7 a Windows Server 2008 R2
RTM
GDR
6.1.760 1. 22xxx
Windows 7 a Windows Server 2008 R2
SP1
LDR
-
Větve GDR obsahují pouze opravy, které byly veřejně vydány k adrese rozšířených velmi důležité problémů. Větve služby LDR obsahují kromě veřejně vydaných oprav také opravy hotfix.
-
Soubory MANIFEST (.manifest) a soubory MUM (.mum) instalované pro každé prostředí jsou uvedeny samostatně v části "Další informace o souborech pro systémy Windows 7 a Windows Server 2008 R2".
-
MUM a MANIFEST soubory a soubory katalogu (CAT) přidružené zabezpečení, jsou velice důležité k udržení stavu aktualizované součásti. Soubory katalogu zabezpečení, pro něž nejsou uvedeny atributy, jsou podepsané digitálním podpisem společnosti Microsoft.
Pro všechny podporované verze systému Windows 7 pro platformu x86
File name |
File version |
File size |
Date |
Time |
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 |
Pro všechny podporované verze systémů Windows 7 a Windows Server 2008 R2 pro platformu x64
Název souboru |
File version |
File size |
Date |
Time |
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 |
Pro všechny podporované verze IA-64 systému Windows Server 2008 R2
Název souboru |
File version |
File size |
Date |
Time |
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 |
Další informace o souborech pro systém Windows 7 a Windows Server 2008 R2
Další soubory pro všechny podporované verze x86 systému Windows 7
Název souboru |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,822 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,805 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,807 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,459 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,918 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
File version |
Not Applicable |
File size |
699 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
File version |
Not Applicable |
File size |
8,301 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:38 |
Platform |
Not Applicable |
Další soubory pro všechny podporované verze systému Windows 7 a Windows Server 2008 R2 x64
Název souboru |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
File version |
Not Applicable |
File size |
1,048 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
File version |
Not Applicable |
File size |
703 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
File version |
Not Applicable |
File size |
703 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
File version |
Not Applicable |
File size |
8,305 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:41 |
Platform |
Not Applicable |
Název souboru |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,832 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
2,237 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
2,015 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
2,036 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,467 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
2,830 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
File version |
Not Applicable |
File size |
4,690 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
02:16 |
Platform |
Not Applicable |
Další soubory pro všechny podporované verze IA-64 systému Windows Server 2008 R2
Název souboru |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
File version |
Not Applicable |
File size |
1,046 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
File version |
Not Applicable |
File size |
8,303 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
2,029 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
File version |
Not Applicable |
File size |
1,446 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
06:35 |
Platform |
Not Applicable |
Název souboru |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
File version |
Not Applicable |
File size |
4,690 |
Datum (čas UTC) |
05-Feb-2014 |
Čas (UTC) |
02:16 |
Platform |
Not Applicable |
Alternativní řešení
Chcete-li tento problém vyřešit, použijte jednu z následujících řešení podle vaší situace.
Řešení pro scénář 1
Ujistěte se, že není aplikace, například ping.exe, nuceně ukončena. Místo toho aplikace umožňují řádné vypnutí.
Můžete také upgradovat na Windows Server 2012. Tento problém je vyřešen v systému Windows Server 2012. Tato oprava zabraňuje službě NSI nevrací paměť bez ohledu na to, jak je aplikace ukončena.
Řešení pro scénář 2
Vývojář softwaru by měly vytvořit více popisovačů protokolu ICMP k odeslání požadavků protokolu ICMP. Pokud odesíláte velký počet paketů ICMP, by měly používat nezpracovaných soketů a přímo odesílání a příjmu paketů ICMP na základní soket. To vám nabídne nejrychlejší výkon.
Řešení pro scénář 3
V tomto scénáři Pokud zakázat a povolit síťový adaptér, využití paměti okamžitě snižuje, ale má krátký zásobníku procesoru.
K tomu dochází, protože dojde ke změně adresy IP nebo rozhraní služby společnosti NSI oznámených jádra. Služby společnosti NSI se poté pokusí informuje všechny klienty, které jsou registrovány pro oznámení. Pokud služba se pokusí upozornit procesu klienta, který neexistuje, zobrazí chybová zpráva RPC. Proto služba NSI odstraní všechny informace o stavu, uložené za tento proces klienta. Jakmile k tomu dojde, že paměť je uvolněno.
V tomto případě jsou registrovány několik set tisíc oznámení. Poté, co dojde k události, je uvolněno veškeré paměti pro tyto klienty neplatný.
Tento problém je vyřešen v systému Windows 8.