makedumpfile-1.2.1: Add virtual memmap support for x86_64 sparsemem kernel.
Ken'ichi Ohmichi
oomichi at mxs.nes.nec.co.jp
Wed Oct 10 03:22:40 EDT 2007
Hi,
makedumpfile version 1.2.1 is released.
Please test it. Your opinions/comments are welcome.
Explanation of makedumpfile:
To shorten the size of the dumpfile and the time of creating the
dumpfile, makedumpfile copies only the necessary pages for analysis
to the dumpfile from /proc/vmcore. You can specify the kind of
unnecessary pages with dump_level. If you want to shorten the size
further, enable the compression of the page data.
Changelog:
o Add virtual memmap support for x86_64 sparsemem kernel.
On linux-2.6.24, virtual memmap will be implemented, and x86_64
sparsemem kernel will have "struct page" in virtual memmap area.
To support virtual memmap, the feature which translates virtual
address into physical address by 4-levels-paging is added.
o Add the message_level (16) for printing the report message.
Example:
Printing progress indicator(1), common message(2), error message(4),
and report message(16).
# makedumpfile --message-level 23 -d 31 -x vmlinux /proc/vmcore dumpfile
[100 %]
Original pages : 0x0000000000137f10
Excluded pages : 0x000000000012a9cd
Pages filled with zero : 0x0000000000120579
Cache pages : 0x00000000000067e2
Cache pages + private : 0x00000000000010a3
User process data pages : 0x000000000000249a
Free pages : 0x0000000000000735
Remaining pages : 0x000000000000d543
(The number of pages is reduced to 4%.)
Memory Hole : 0x00000000000380f0
--------------------------------------------------
Total pages : 0x0000000000170000
The dumpfile is saved to dumpfile.
makedumpfile Completed.
#
o Add linux-2.6.23 support because makedumpfile was tested on linux-2.6.23.
o Change the common/debug message output to STDOUT from STDERR if not
specifying '-F' option, so that users can read the help message easily.
('-F' option outputs the dump data to STDOUT for piping it by ssh
command etc.)
o Some cleanups
- Rename read_vmcoreinfo_structure() to read_vmcoreinfo_long() because
the function is used also for the usages other than structures.
- Cleanup the code for translating virtual address to physical address.
You can download the latest makedumpfile(ver. 1.2.1) from the following URL.
Details of the change are written on the CVS page of the following site.
https://sourceforge.net/projects/makedumpfile/
Method of installation:
You can compile the makedumpfile command as follows;
1. "tar -zxvf makedumpfile-1.2.1.tar.gz"
2. "cd makedumpfile"
3. "make; make install"
Usage:
makedumpfile [-c] [-E] [-d dump_level] [-x vmlinux] dump_mem dump_file
Example:
If you want to exclude pages filled by zero, cache pages, user pages
and free pages and to enable compression, please execute the following
command.
# makedumpfile -c -d 31 -x vmlinux /proc/vmcore dumpfile
Thanks
Ken'ichi Ohmichi
More information about the kexec
mailing list