64 を超えるプロセッサを使用するコンピューター上で Windows Server 2008 R2 のアプリケーション ログで PerfNet エラーが報告される

適用対象: Windows Server 2008 R2 DatacenterWindows Server 2008 R2 EnterpriseWindows Server 2008 R2 Standard

現象


次のような状況で問題が発生します。

  • 64 を超える論理プロセッサを使用するコンピューターに Windows Server 2008 R2 がインストールされています。
  • アプリケーションが Windows Management Instrumentation (WMI) を使用して論理プロセッサに関連するパフォーマンス データのクエリを実行します (WMI クラスの例: Win32_PerfFormattedData_PerfOS_Processor)。
このような状況で、パフォーマンスのクエリが失敗することがあります。

また、以下のエラーが、各クエリの後にアプリケーション イベント ログに記録される場合があります。

ログの名前: Application
ソース: Microsoft-Windows-PerfNet
日付: 3/30/201 10:15:29 AM
イベント ID: 2006
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: <コンピューター名>
説明: サーバー サービスからサーバー キュー パフォーマンス データを読み取れません。データ セクションの最初の 4 バイト (DWORD) には状態コードが含まれ、2 番目の 4 バイトには IOSB.Status が含まれ、3 番目の 4 バイトには IOSB.Information が含まれています。サーバー サービスからサーバー キュー パフォーマンス データを読み取れません。データ セクションの最初の 4 バイト (DWORD) には状態コードが含まれ、2 番目の 4 バイトには IOSB.Status が含まれ、3 番目の 4 バイトには IOSB.Information が含まれています。

原因


この問題は、"Server Work Queues" パフォーマンス カウンター プロバイダー PerfNet.dll が 64 を超えるプロセッサを使用しているコンピューター上で論理プロセッサの数を正しく計算しない結果として、クエリ中にバッファー サイズが不足することが原因で発生します。

解決方法


修正プログラム2733563(http://support.microsoft.com/kb/2733563)は、この論理プロセッサの計算問題に対処するためにリリースされました。