savecore に必要な容量2007年12月27日 15時36分00秒

savecore は、kernel が panic した後の reboot 時に、カーネルのメモリーダンプを取るプログラムだ。

メモリのダンプを取ると言うので、物理メモリと同じ量のディスクスペースが必要なのかと思い込んでいたが、そうではないらしい。savecore がダンプを行なうのは、active なページだけらしい。そのため、2GB のメモリが積んであっても、150MB から 200MB ぐらいの core だった。

以下の出力は、savecore でダンプを取るために、メモリを退避している様子。


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x188
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc07479d4
stack pointer           = 0x28:0xe3c71b1c
frame pointer           = 0x28:0xe3c71b34
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 1 (init)
trap number             = 12
panic: page fault
cpuid = 0
Uptime: 1h24m11s
Physical memory: 2025 MB
Dumping 155 MB: 140 124 108 92 76 60 44 28 12