Linux kernel oops


oops(ウップス)とはLinuxカーネルがエラーログを生成する、正常な動作からの逸脱状態のことである。その状態に陥った際に発せられるメッセージを指す場合もある。有名なカーネルパニックの発生は様々なoopsに起因するが、その他のものはシステムの連続稼働における信頼性を損なうかもしれない。この用語は英単語oopsにおける単なる錯誤以上のものを表す。
カーネルが異常を察知した際、oopsメッセージが表示され、異常を引き起こしたプロセスはkillされる。そのメッセージはLinuxカーネル技術者がoopsを生じさせたバグをデバッグするのに使用され、またその原因となるプログラミング_(コンピュータ)のエラーを修正するのに利用される。
oopsメッセージを収集する機能に影響を与える、効率的なログ収集に関する様々な設定手法がある[1]。oopsメッセージに関するLinuxカーネル公式の文書はカーネルソースに同梱されているDocumentation/oops-tracing.txt[2]ファイルである。klogdデーモンはカーネルログリングバッファ(dmesgコマンドにより一部表示できる)からoopsの情報を抽出する機能に関与しているとしてしばしば引き合いに出されるが、いくつかのシステム、例えば近年のDebianやUbuntuディストリビューションではklogdデーモンはrsyslogdデーモン(en)に取って代わられている。これ故klogdプロセスの存在がログファイルにおけるoops情報の存在を必ずしも説明するとは限らない。
一度システムでoopsが発生すると、もはやいくつかの内部リソースは消費され切ってしまうかもしれない。たとえシステムが正常に動作しているように見えても、動作中のタスクがkillされることにより悪影響が出でしまう可能性がある。システムがひとたび喪失したリソースを利用しようと試みると、カーネルoopsがしばしばカーネルパニックを引き起こす。
Kerneloops[3]というソフトウェアはoopsの収集の引き合いに出される。このソフトウェアをインストールすると、システムでoopsが発生する度にこれを収集し、開発元のウェブサイトに送信する[4]。ちょうどMicrosoft Windowsオペレーティングシステムにおける、「エラー報告」機能と類似したものと考えればよい[5]。このウェブサイトではインストールしたユーザーから自動的に送られてきたoopsの統計情報を提供している[3]。
システムにおける/proc/sys/kernel/panic_on_oops
というファイルは、意図的にoopsメッセージを発生させる場合に役に立つ。
関連項目
- System.map - oopsを解釈するためのファイル。oopsメッセージにはoopsを引き起こした関数などのシンボル名とメモリアドレスが表示されているため、このファイルを利用すれば、oops発生を引き起こした原因を特定する事につながる。
脚注
- ^ Michael Renzmann (2008年1月10日). “Kernel Oops Howto”. madwifi-project.org. 2011年1月27日閲覧。
- ^ リーナス・トーバルズ、G.W. Wettstein (2010年5月19日). “oops-tracing.txt”. git.kernel.org. 2011年1月27日閲覧。
- ^ a b “Kernel oops bugcount”. kerneloops.org. 2011年1月27日閲覧。
- ^ アルヤン・ファン・デ・フェン(Arjan van de Ven). “kerneloops(8) - Linux man page”. linux.die.net. 2011年1月27日閲覧。
- ^ “Package 'kerneloops'”. screenshots.debian.net. 2011年1月27日閲覧。 このようにWindowsの「エラー報告」ダイアログと同様に、oopsが発生した際、デスクトップ環境を使用しているならば、スクリーンショットのようなポップアップダイアログが表示される。
追加情報
- John Bradford (8 March 2003). "Re: what's an OOPS". LKML (Mailing list). 2006年5月22日閲覧。
- Szakacsits Szabolcs (8 March 2003). "Re: what's an OOPS". LKML (Mailing list). 2006年5月22日閲覧。
- Al Viro (14 January 2008). "OOPS report analysis". LKML (Mailing list). 2008年1月14日閲覧。
- Kernel Oops Howto (madwifi プロジェクト) oopsメッセージを表示するのに役に立つファイルとツールの設定に有益な情報がある。その他多くのリンクがある。