[Windows]Perflib event ID 1008, 1020, 1023

Windows
windows server 2016

概要

下記のイベントログが記録される

ログの名前: Application
ソース: Microsoft-Windows-Perflib
イベント ID: 1008
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
説明:
サービス “BITS” (DLL “C:\Windows\system32\bitsperf.dll”) の Open プロシージャに失敗しました。このサービスのパフォーマンス データは利用できません。データ セクションの最初の 4 バイト (DWORD) に、エラー コードが含まれています。

ログの名前: Application
ソース: Microsoft-Windows-Perflib
イベント ID: 1020
タスクのカテゴリ: なし
レベル: エラー
キーワード:
ユーザー: SYSTEM
説明:
必要なバッファー サイズが、”LSM” サービスの “C:\Windows\System32\perfts.dll” 拡張可能カウンター DLL の Collect 関数に渡されたバッファー サイズを超えています。指定されたバッファー サイズは 19072、必要なサイズは 31568 でした。

ログの名前: Application
ソース: Microsoft-Windows-Perflib
イベント ID: 1023
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
説明:
拡張可能カウンター DLL WINS を読み込むことができません。データ セクションの最初の 4 バイト (DWORD) には Windows のエラー コードが含まれています。

対応

パフォーマンスライブラリへの再登録作業を行ってみる

1.パフォーマンス設定のINIファイルフルパス名を調べる

大抵は c:\windows\inf\サービス名\0411  にある。
サービス名はイベントログの「説明」項目に記載されている

レジストリにも記録がある
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\サービス名\Performance
でファイル名がわかる
あとは,c:\windows 配下でファイル検索をして保存場所を取得する

2.コマンドプロンプト(管理者権限)にて以下を実行

コマンド

lodctr 手順1で取得したパフォーマンス設定INIファイルのフルパス名

メモ
「Perflib の言語キー 009 を開けません」と表示されることがあるが,気にしなくていい。


LSMサービスに関するエラーなら:
lodctr C:\Windows\INF\LSM\0411\lagcounterdef.ini

BITSサービスに関するエラーなら:
lodctr “C:\Windows\inf\BITS\0411\bitsctrs.ini”

上記のコマンド実行後,通常は何もメッセージが表示されない。時折「Perflib の言語キー 009 を開けません」といわれる。無視しても構わないみたい。

これでエラーログが記録されなくなる

再登録でも解消しない,またはイベントID 1023 が続くなら

パフォーマンスリストのバックアップから再構築してから再登録してみる

なんだか全体的におかしいと思う場合は,バックアップから再構築するという方法もある。ただし,再構築に失敗するものが新たに派生することもあるので,必要と思えるなら。

コマンド

lodctr /R

(/R は大文字)

lodctr 手順1で取得したパフォーマンス設定INIファイルのフルパス名

メモ
再構築すると,他のパフォーマンスモニターがエラーを起こすこともあります。
usbperf のパフォーマンスモニターがエラーを起こす場合は

イベントログのデータセクションにある,4桁のエラーコードで原因を探る

イベントの内容によっては,データセクションにエラーコードが記録されていることもあります。

エラーの原因に応じて以下のWEBサイトにある対処方法を実施する

パフォーマンスリストから削除するなら

もうなんだかよくわからないので,別にパフォーマンスの取得は不要なら

レジストリエディタにて
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\サービス名\Performance
Disable Performance Counters  (REG_DWORD) を追加し,値を 1 とする

メモ
もし上記のサービス名に該当するレジストリパスが存在しない場合は,前述の lodctrl “iniファイル” を実行すれば,作成される。それから Disable Performance Counters 値を1にすれば良い。

プロパティ

Windows Server 2016
Windows Server 2012 R2
Windows 10

その他の詳しい情報
https://support.microsoft.com/ja-jp/help/300956/how-to-manually-rebuild-performance-counter-library-values

コメント

スポンサーリンク
タイトルとURLをコピーしました