Message
Process command (pid: pid, threadinfo=threadinfo task=task)
Arguments
- command
- カレントタスクの実行コマンド
- pid
- カレントタスクのプロセスID
- threadinfo
- threadinfo構造体の先頭アドレス
- task
- カレントタスク構造体の先頭アドレス
Description
カーネルクラッシュ時に表示され、プロセス情報を示す。
通常は次のような一連情報の1つとして出力される。これはカーネルがクラッシュ時のOopsメッセージの例である。OopsメッセージからEIP(Extended Instruction Pointer)の指すアドレスc01484f8より前のコードでクラッシュを引き起こした命令が特定できる。
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
c01484f8
*pde = 35f48001
Oops: 0000 [#1]
SMP
Modules linked in: nls_utf8 md5 ipv6 i2c_dev i2c_core ide_dump scsi_dump diskdump zlib_deflate ext3 jbd dm_mirror dm_mod button battery ac uhci_hcd ehci_hcd hw_random shpchp e1000 sg xfs megaraid_mbox megaraid_mm sd_mod scsi_mod
CPU: 5
EIP: 0060:[<c01484f8>] Not tainted VLI
EFLAGS: 00010086 (2.6.9-34ELsmp)
EIP is at kmem_cache_alloc+0x32/0x57
eax: 00000246 ebx: 00000220 ecx: f7d45b80 edx: 00000000
esi: 00000246 edi: f7d45b80 ebp: 00000220 esp: f6a21014
ds: 007b es: 007b ss: 0068
Process OÉ (pid: 4194367, threadinfo=f6a20000 task=f6831000)
Stack: c9951f40 00000000 f6a2103c c0143966 00000220 00000000 f6d962b0 c0120a59
f6a21054 f6a21054 00000000 00000000 00000000 00000000 f6d962b0 c0120a59
f6a21054 f6a21054 00000000 0ab21904 c022b6fc f7ad57c8 00000000 00000000
Call Trace:
[<c0143966>] mempool_alloc+0x7b/0x135
Category
Action
カーネルのメモリダンプを採取し、解析する。カーネルのメモリダンプを採取するためには、予めdiskdumpパッケージまたはnetdumpパッケージの導入および設定を行う必要がある。
Misc
ディスクをダンプ先に選択する場合はOSのインストール時に予めディスクダンプ用のパーティションを切っておくことが必要である。そのあと、カーネルの障害によりメモリイメージが一旦このパーティションへ保存される。カーネル再起動後、/var/crash/2006-01-25-18:10のようなディレクトリが作成され、その中にメモリダンプイメージがvmcoreというファイルとして保存される。OSインストール時にダンプ用パーティションを設定しなかった場合はネットワーク経由でダンプを取ることができる。これはnetdumpパッケージによって実現される。ダンプファイルはリモートのダンプサーバの上記と同じ様なディレクトリにvmcoreファイルとして転送され、保存される。vmcoreの解析はcrashなどのコマンドで解析を行なう。カーネル障害の原因は通常はカーネルやドライバコードによるものが多い。
Example
Process OÉ (pid: 4194367, threadinfo=f6a20000 task=f6831000)
