Question re: mem= usage and resultant vmcore
Dave Anderson
anderson at redhat.com
Wed Aug 1 12:29:59 EDT 2007
On an 4GB x86_64 kernel, with memory restricted with "mem=" like so:
kernel /vmlinuz-2.6.18-36.el5 ro root=/dev/VolGroup00/LogVol00
console=ttyS0,115200 mem=2000m crashkernel=128M at 16M
The secondary kernel boots fine with this:
Kernel command line: ro root=/dev/VolGroup00/LogVol00 console=ttyS0,115200
mem=2000m irqpoll maxcpus=1 memmap=exactmap memmap=640K at 0K
memmap=5048K at 16384K memmap=125368K at 22072K elfcorehdr=147440K
memmap=76K#3406720K memmap=564K#3406796K
The /proc/vmcore shows 4GB:
# ls -l /proc/vmcore
-r-------- 1 root root 4164192032 Aug 1 10:57 /proc/vmcore
#
I'm not sure whether that's supposed to reflect the "mem=2000m" size
or not?
Anyway, when copied to /var/crash, the "cp" command in the kdump init
file returns a 1, and the vmcore file is kept named as "vmcore-incomplete".
But the vmcore-incomplete looks to be the "right" size, and is functional
as a vmcore file:
# crash /usr/lib/debug/lib/modules/2.6.18-36.el5/vmlinux vmcore-incomplete
crash 4.0-4.3.1
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc.
Copyright (C) 2004, 2005, 2006 IBM Corporation
Copyright (C) 1999-2006 Hewlett-Packard Co
Copyright (C) 2005, 2006 Fujitsu Limited
Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
Copyright (C) 2005 NEC Corporation
Copyright (C) 1999, 2002 Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. Enter "help copying" to see the conditions.
This program has absolutely no warranty. Enter "help warranty" for details.
GNU gdb 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu"...
KERNEL: /usr/lib/debug/lib/modules/2.6.18-36.el5/vmlinux
DUMPFILE: vmcore-incomplete
CPUS: 4
DATE: Wed Aug 1 11:47:13 2007
UPTIME: 00:02:15
LOAD AVERAGE: 0.16, 0.14, 0.06
TASKS: 118
NODENAME: nec-em17.rhts.boston.redhat.com
RELEASE: 2.6.18-36.el5
VERSION: #1 SMP Fri Jul 20 14:26:46 EDT 2007
MACHINE: x86_64 (2992 Mhz)
MEMORY: 1.9 GB
PANIC: "SysRq : Trigger a crashdump"
PID: 3044
COMMAND: "bash"
TASK: ffff8100794f0100 [THREAD_INFO: ffff8100656dc000]
CPU: 0
STATE: TASK_RUNNING (SYSRQ)
crash>
So two questions -- should the /proc/vmcore on the secondary kernel
reflect the restricted size, and what would cause the "cp" to
only copy the "correct" amount, while returning an error code?
Dave
More information about the kexec
mailing list