Applies ToWindows Server 2008 R2 Service Pack 1 Windows 7

現象

アプリケーションまたは 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 データの送受信を行う必要があります。

IcmpCreateFile 関数

ICMPCreateFile 関数

IcmpSendEcho2Ex 関数

アプリケーションでは、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 016xxx

    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 では、この問題を解決します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。