メインコンテンツへスキップ
       

Kernel-Power Event 41とは―BugcheckCode,PowerButtonTimestamp及び強制終了時刻の読み方(AI作成)

第1 結論

Kernel-Power Event 41は,Windowsが正常なシャットダウンを完了しないまま再起動したことを示す記録である。
Event 41があるだけでは,電源,メモリ,GPU,ドライバー又は特定のアプリのどれが原因であったかは確定できない。

原因を絞るときは,Event 41の記録時刻だけを見るのではなく,①最後に正常に操作できた時刻,②性能ログ又はアプリログが途切れた時刻,③電源ボタンを長押しした時刻,④Windowsが再起動した時刻,⑤Event 41が記録された時刻を分ける必要がある。
BugcheckCode,PowerButtonTimestamp,EventLog 6008,WER-SystemErrorReporting 1001,volmgr 46,ダンプの有無及び発生直前の性能ログを同じ時系列に並べるのが基本である。

第2 Event 41が示すことと示さないこと

1 正常終了を経ない再起動を示すこと

Microsoftの説明によれば,Event 41は,Windowsが完全なシャットダウンを経ずに再起動したことを示す。
フリーズしたPCを電源ボタンで強制終了した場合,突然電源が失われた場合,又はブルースクリーン後に自動再起動した場合のいずれでも記録され得る。

したがって,Event 41は「異常終了又は異常再起動があった」という入口の記録であり,原因名そのものではない。
イベントビューアーに「重大」と表示されることも,特定部品の故障を確定する意味ではない。

2 記録時刻を停止開始時刻と取り違えないこと

Event 41は,異常終了後にWindowsが起動した際に記録される。
そのため,Event 41の時刻は,画面又は入力が固まり始めた時刻より後になることがある。

フリーズ開始から強制終了まで数分間あった場合,Event 41の時刻だけを検索条件にすると,原因候補となる直前の処理を見落としやすい。
最後に正常だった時刻から再起動完了までを一つの調査区間とし,その区間のApplicationログ,Systemログ,性能ログ,信頼性履歴及びアプリの作業記録を照合する。

第3 Event 41の主要フィールド

1 BugcheckCode

BugcheckCodeが0以外である場合は,WindowsがStopエラーを検出した可能性が高くなる。
MicrosoftによればEvent 41のBugcheckCodeは十進数で記録されるため,ブルースクリーンの一般的な16進数コードと照合するときは表記を変換する。

もっとも,BugcheckCodeだけで原因となったドライバー又はハードウェアが直ちに分かるとは限らない。
WER-SystemErrorReporting 1001(イベントビューアーのソース欄ではBugCheckと表示される場合がある。),ダンプファイル及びデバッガーの解析結果を合わせて確認する。

2 PowerButtonTimestamp

Microsoftは,電源ボタンを長押しして再起動した場合,Event 41のPowerButtonTimestampが0以外になる例を示している。
この値は,電源ボタンによる強制終了を検討する重要な手掛かりとなる。

ただし,PowerButtonTimestampが0であることは,電源ボタンを操作していないことの完全な証明ではない。
PCが完全に応答せず,Windowsが情報をディスクへ書けなかった場合又は急激に電源が失われた場合は,値が残らないことがある。

3 BugcheckCodeとPowerButtonTimestampがともに0の場合

両方が0の場合は,電源断,ハードハング,Stopエラー情報の書込み失敗その他の可能性が残る。
「コードが0だからWindowsに異常はなかった」と判断してはならない。

Microsoftは,すべての値が0の場合にvolmgrのEvent 46(Crash dump initialization failed!)の有無を確認し,あればページファイル設定を確認するよう案内している。
ダンプがないことと,Stopエラーがなかったことは同じではない。

第4 併せて確認するイベント

1 正常終了を示す記録

通常の終了又は再起動では,User32のEvent 1074,Kernel-GeneralのEvent 13及びEventLogのEvent 6006等が手掛かりとなる。
これらが直前にあり,終了を要求したプロセス及び利用者が確認できる場合は,予定された再起動との区別がしやすい。

2 異常終了を示す記録

EventLog 6008は,前回のシャットダウンが予期されていなかったことを示す。
Event 41と6008は,いずれも異常終了の確認には役立つが,単独で原因を確定するものではない。

WER-SystemErrorReporting 1001にBugCheckコードとダンプの保存先が記録されている場合は,Stopエラーの調査へ進む。
Display,WHEA,Disk,storport,Ntfs,Application Hang及びLiveKernelEventが同じ時間帯にある場合は,表示系,ハードウェア又はストレージを別に検討する。

3 Windows Error Reportingの古い記録を現在の障害と取り違えないこと

再起動後にWindows Error Reportingのフォルダー又は履歴を調べると,以前の障害に対応するダンプ又はレポートが見つかることがある。
ファイルが今回の起動時に参照されたというだけで,今回のフリーズ時に作成されたとは限らない。

レポートの発生日時,ダンプの更新日時,障害署名及び今回の時系列を照合し,古いダンプを現在の原因の証拠にしない。

第5 強制終了前後の時系列を作る方法

1 五つの時刻を分けること

少なくとも,次の五つを記録する。
① 最後に正常に入力又は画面更新を確認した時刻
② 性能ログ又はアプリログの最後の記録時刻
③ 電源ボタンを長押しした時刻
④ Windowsが起動した時刻
⑤ Event 41及び6008の記録時刻

電源ボタンの時刻は,別端末の時計,写真,遠隔接続の切断記録又はPowerButtonTimestamp(値の形式は公式資料に説明がないため,時刻として読むときは他の記録と照合する。)を手掛かりにする。
ただし,いずれも取得できない場合は推測で秒単位まで補わず,確認できる時間帯として記録する。

2 最後のログが原因を示すとは限らないこと

性能ログがフリーズの数分前に途切れている場合,ログ収集処理自体が停止した可能性がある。
最後に記録されたプロセスは「最後に観測できた処理」であり,直ちに原因プロセスを意味しない。

CPU,利用可能メモリ,コミット率,Pages/sec,ディスク待ち,プロセス別I/O,ネットワーク及びプロセス数の変化を同じ時刻で見る。
Pages/secの上昇だけでRAM不足と断定せず,利用可能メモリ,コミット率及びディスク待ちと合わせて評価する。

第6 実測例から分かること

あるWindows 11端末では,複数のAIチャットと監視用セッションを短時間に起動した後,10分未満でCodex関連プロセスが2個から23個へ,Node関連プロセスが7個から33個へ増え,PC全体のプロセス数も473個から616個へ増加した。
同じ時間帯にCPU使用率は最大95%となった一方,利用可能メモリは約38GBあり,ディスクキューも高くなかった。

この一例は,フリーズの有力な引き金がRAM容量の枯渇だけではなく,短時間のプロセス増加及びCPU負荷の波であった可能性を示す。
もっとも,単一端末の一回の観測であり,製品全体の原因又は一般的な安全上限を示すものではない。

同じ端末では,Codex関連プロセスが15個以上で長時間稼働しても異常終了がなかった日が確認されている。
この端末では,「15個に達したからフリーズする」という固定上限より,何分間で何個増えたか,その間にCPU,Node関連プロセス及び総プロセス数がどう変化したかを見る方が有用と考えられる。

第7 再発防止に使う場合の注意

主チャットを最大15本まで許容する運用を採る場合でも,一度に立ち上げず,例えば2分間に3本までとして段階的に増やし,通常業務の入力応答を確認する方法が考えられる。
また,5分間でCodex関連プロセスが10個,Node関連プロセスが15個又は総プロセス数が80個以上増えた場合,CPU使用率85%以上が3分中2回あった場合,又はPages/secが3000以上の状態が連続した場合に新規起動を保留するというローカル運用例も考えられる。

これらの数値はMicrosoft,OpenAI又はAnthropicの公式基準ではなく,一端末の観測に基づく暫定的な停止条件である。
端末構成,アプリ版及び通常時の基準値が違えば適切な値も変わるため,平常時ログと比較して見直す必要がある。

第8 関連記事

Windows 11がフリーズした後に最後のコマンドと性能ログを突き合わせる手順は,Windows 11がフリーズした原因を後から調べる方法―最後のコマンド,パフォーマンスモニター及びイベントビューアー(AI作成)を参照されたい。

Claude Code又はCodex利用時のメモリ,CPU,SSD及び並列処理の切分けは,Claude Code・Codexでパソコンがフリーズする原因-メモリ8GB・16GB・32GB・64GBの違い(AI作成)を参照されたい。

フリーズ直後の期限確認,送信成否及び別PCからの安全な再開は,弁護士・税理士のAI業務用PCがフリーズしたときの初動-期限管理,送信成否,ログ保全及び安全な再開(AI作成)を参照されたい。

第9 出典・参考資料

① Microsoft Learn「Event ID 41 The system has rebooted without cleanly shutting down first」
https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/event-id-41-restart

② Microsoft Learn「Troubleshoot unexpected reboots using system event logs」
https://learn.microsoft.com/en-us/troubleshoot/windows-server/performance/troubleshoot-unexpected-reboots-system-event-logs

③ Microsoft Learn「Bug Check Code Reference」
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2