現象
アプリケーションまたは Windows 7 または Windows Server 2008 R2 を実行しているツールがあることと、次のタスクの 1 つ以上のアプリケーションまたはツールを実行することを想定しています。
-
ICMP または ping.exe を使用して別のサーバーの監視
-
、ジョブを実行する複数の短時間のプロセスとプロセスの起動が停止し、
-
別のアプリケーションまたはスクリプトでネットワークを利用し、プロセスを実行を停止し、
このような状況で、いくつかの時間の継続的にサーバーが実行されるか、ネットワーク ストア インターフェイス (NSI) サービスがメモリをリークが発生する、数日後。 その際、さらに、以下のようなの現象が発生します。
-
監視ソフトウェアを停止すると、メモリ リークを停止します。
-
アプリケーションを停止し、コンピューターを再起動すると場合、NSI のサービスでメモリ リークは発生しません。
-
場合によってを無効にして、ネットワーク アダプターを有効にする場合わかります CPU 使用率の急激なスパイク NSI サービス。 さらに、メモリ使用量がすぐ落下 1 または 2 ギガバイト (GB) から 200 または 300 メガバイト (MB) にします。
この問題は、次のシナリオのいずれかで発生可能性があります。
シナリオ 1
場合は、ping.exe などのアプリケーションは、強制的に停止していることは、 IcmpCloseHandle関数は呼び出されません。 この例では、NSI のサービスが利用可能なクライアントがあることを検出することがあります。 したがって、サービスは継続的にすべての ICMP メッセージの通知を送信します。 クライアントが存在しないため、[通知] ボックスの一覧が増え続けた。 NSI のサービスが停止されるまで、リストを削除取得はされません。
Ping を送信するには、ICMP のハンドルを開き、[その他の IP ヘルパー機能を使用して、ICMP データの送受信を行う必要があります。
アプリケーションでは、ping を送信した後は、ICMP のハンドルを閉じるには、 IcmpCloseHandle 関数を呼び出すこと必要があります。
シナリオ 2
ソフトウェア開発者は、IPHlelper Api を使用して、ICMP メッセージを送受信するアプリケーションを作成します。 のみ ICMP ハンドルの 1 つは複数のクライアントでは、ICMP メッセージを送信するために使用いて、存在する場合はこれは非常に高いレートでは、メッセージを受信したときに通知される IPHelper API は、速度を維持できません。 この例では、NSI のサービスのメモリが、急激な増加を続けることがわかります。 また、NSI サービス (nsisvc.dll) が高い CPU 使用率を確認します。
シナリオ 3
アプリケーションまたは直接または間接的には、 IP ヘルパー関数を使用しているサービスがあります。 アプリケーションを停止するか、停止すると、それが存在しない正常に各通知の登録が取り消された (CancelMibChangeNotify2) ではない場合とします。この例では、NSI のサーバーが停止しているプロセスの保留中の登録を保持します。アプリケーション停止の多くのインスタンスがある場合は、NSI のサービスは、多くの残留登録があります。すべての登録のためには、RPC の非同期状態とその他の情報が維持されます。これは、メモリ使用量を追加します。通常、インタ フェース変更のユニキャスト IP アドレスの変更は、これらの登録が行われます。状態の変更がない場合、これらの登録も維持されます。
次の通知機能は、登録処理中に使用します。
いる多くのアプリケーション (CancelMibChangeNotify2) を呼び出すしたりしないで、プロセスを停止する理由は、Microsoft Developer Network web サイトのNotifyIpInterfaceChange 関数のトピックで説明します。
変更通知を登録するNotifyIpInterfaceChange関数が呼び出されると、これらの通知は、アプリケーションの変更の通知や、アプリケーションの停止を受信する登録が解除されるまで送信を続行します。 アプリケーションが停止すると、システムは自動的に変更通知の登録を解除します。 明示的に停止する前に [変更通知の登録を解除するアプリケーションを構成することをお勧めします。
通知のすべての登録を行うもいくつか (NPP) 非ページ プール メモリを割り当てる、NSpc タグです。
原因
NSI サービスから最初の登録を解除せずに通知を登録するプロセスが終了するため、この問題が発生します。 したがって、登録リーク NSI が原因で、メモリ リークが発生、NSI のサービスで。さらに、、NPP NSI プロキシ コンテキスト タグ NSpc (NSI.dll) でメモリ リークが発生します。
解決方法
修正プログラムの情報
Microsoft サポートでは、この問題を修正する修正プログラムを提供しています。 ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。 この修正プログラムは、この資料に記載された問題があったシステムのみに対して適用してください。 この修正プログラムは、今後さらにテストを行う場合があります。 したがって、この問題の影響が深刻でない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことをお勧めします。
修正プログラムをダウンロードできる場合は、このサポート技術情報の資料の上部に「修正プログラムのダウンロード」セクションがあります。 このセクションが表示されていない場合は、マイクロソフト カスタマー サービス サポートにお問い合わせのうえ、修正プログラムを入手してください。
注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 さらなる問題が発生した場合、またはトラブルシューティングが必要な場合には、別のサービス リクエストの作成が必要な場合があります。 この修正プログラムの対象外の追加の質問および問題については、通常のサポート料金が適用されます。 マイクロソフト カスタマー サービス サポートの電話番号一覧、または別のサービス リクエストの作成方法については、次のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support
注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 [修正プログラムのダウンロード] フォームには、修正プログラムが提供されている言語が表示されます。 お使いの言語が表示されない場合は、その言語の修正プログラムが利用できないためです。
必要条件
この修正プログラムを適用するには、Windows 7 または Windows Server 2008 R2 がインストールされているService Pack 1が必要です。
再起動の必要性
この修正プログラムの適用後、コンピューターを再起動する必要があります。
修正プログラムの置き換えに関する情報
この更新プログラムを適用しても、これまでにリリースされた更新プログラムが置き換えられることはありません。
ファイル情報
この修正プログラムの英語 (米国) 版では、次の表に示す各属性を持つファイル群がインストールされます。 これらのファイルの日付と時刻は世界協定時刻 (UTC) で記載されています。 ローカル コンピューター上のこれらのファイルの日時は、夏時間 (DST) が反映された現地時間で表示されます。 さらに、ファイルに対して特定の操作を行うと、日時が変更される場合があります。
Windows 7 および Windows Server 2008 R2 のファイル情報およびメモ
重要 Windows 7 の修正プログラム、および Windows Server 2008 R2 の修正プログラムは、同じパッケージに収められています。 ただし、修正プログラムのリクエスト ページにある修正プログラムは各オペレーティング システムの下に一覧表示されています。 一方または両方のオペレーティング システムに適用される修正プログラム パッケージをリクエストするには、ページ上の "Windows 7/Windows Server 2008 R2" の下に一覧表示されている修正プログラムを選択します。 必ず資料の「対象製品」を参照して、各修正プログラムの適用対象である実際のオペレーティング システムを確認してください。
-
特定の製品、SR_Level (RTM、SPn)、および区分 (LDR、GDR) に適用されるファイルは、次表に記載されているファイルのバージョン番号を調べると確認できます。
バージョン
製品
SR_Level
区分
6.1.760 0。 16xxx
Windows 7 および Windows Server 2008 R2
RTM
GDR
6.1.760 1. 22xxx
Windows 7 および Windows Server 2008 R2
SP1
LDR
-
GDR 区分には、広範囲にわたる非常に重要な問題を解決するために幅広くリリースされているそれらの修正プログラムのみが含まれています。 LDR 区分には、幅広くリリースされている修正プログラムだけでなく、ホットフィックスも含まれています。
-
マニフェスト ファイル (.manifest) および MUM ファイル (.mum) インストールされているそれぞれの環境には [追加のファイルの Windows 7 および Windows Server 2008 R2 の情報] セクションで個別に表示されます。
-
MUM ファイル、MANIFEST ファイル、および関連するセキュリティ カタログ (.cat) ファイルは、更新されたコンポーネントの状態を維持するために不可欠です。 属性の一覧が表示されていないセキュリティ カタログ ファイルは、Microsoft デジタル署名で署名されています。
サポートされているすべてのバージョンの Windows 7 (x86 ベース)
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
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 |
サポートされているすべてのバージョンの Windows 7 および Windows Server 2008 R2 (x64 ベース)
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
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 |
サポートされているすべてのバージョンの Windows Server 2008 R2 (IA-64 ベース)
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
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 |
Windows 7 および Windows Server 2008 R2 の追加ファイル情報
サポートされているすべてのバージョンの Windows 7 (x86 ベース) の追加ファイル
ファイル名 |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,822 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,805 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,807 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,459 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,918 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
699 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
8,301 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:38 |
プラットフォーム |
該当なし |
サポートされているすべてのバージョンの Windows 7 および Windows Server 2008 R2 (x64 ベース) の追加ファイル
ファイル名 |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,048 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
ファイル バージョン |
Not Applicable |
File size |
703 |
Date (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
ファイル バージョン |
Not Applicable |
File size |
703 |
Date (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
8,305 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:41 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,832 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
2,237 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
2,015 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
2,036 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,467 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
2,830 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
4,690 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
02:16 |
プラットフォーム |
Not Applicable |
サポートされているすべてのバージョンの Windows Server 2008 R2 (IA-64 ベース) の追加ファイル
ファイル名 |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,046 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
8,303 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
2,029 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
1,446 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
06:35 |
プラットフォーム |
Not Applicable |
ファイル名 |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
ファイル バージョン |
Not Applicable |
ファイル サイズ |
4,690 |
日付 (UTC) |
05-Feb-2014 |
時刻 (UTC) |
02:16 |
プラットフォーム |
Not Applicable |
回避策
この問題を回避するには、状況に応じて以下の回避策のいずれかを使用します。
シナリオ 1 の回避策
Ping.exe など、アプリケーションが強制的に停止しないことを確認します。 代わりに、アプリケーションを正常にシャット ダウンします。
または、Windows Server 2012 にアップグレードします。 Windows Server 2012 では、この問題を解決します。 この修正プログラムは、NSI のサービスがアプリケーションを停止する方法に関係なくメモリをリークしていることを防ぎます。
シナリオ 2 の回避策
ソフトウェア開発者は、ICMP 要求を送信する複数の ICMP のハンドルを作成する必要があります。 ICMP パケットの数が多いを送信する必要がある場合は、Raw ソケットを使用して直接送信してください RAW ソケットでの ICMP パケットを受信します。 最速のパフォーマンスが得られます。
シナリオ 3 の回避策
このシナリオでを無効にするネットワーク アダプターを有効にした場合のメモリ使用量すぐに減少しますが、短い CPU 使用率のスパイク。
これは、カーネルによって NSI サービスに通知は、IP アドレスまたはインタ フェースに変更が発生する場合があるために発生します。 NSI サービスしよう notifiy 通知の登録されているすべてのクライアントです。 サービスは、クライアント プロセスが存在しないことを通知する際に、RPC はエラーを報告します。 したがって、NSI のサービスは、クライアント プロセスの保存されているすべての状態情報を削除します。 この現象が発生した場合、そのメモリは解放されます。
この例では、数十万のいくつかの通知が登録されています。 イベントが発生した後は、これらの無効なクライアントのすべてのメモリが解放されます。
Windows 8 では、この問題を解決します。