← Back to team overview

kernel-packages team mailing list archive

[Bug 785394] Re: Hard-coded crashkernel=... memory reservation in /etc/grub.d/10_linux is insufficient

 

@Daniel
I'm wrong, not fixed in 13.04+

I ran some tests:
@Chiluk first up vm images do only need 64 mb reserved:
Trusty 512 MB (m1.tiny) image on OpenStack:   allocted 64 MB of ram for crashdump and it worked. (dump size of 23 mb)

Desktop images fail 
Trusty 2047 MB (Vagrant/Virtualbox desktop image) - allocated 64 MB of ram for crashdump and hung.
Reran with 100MB for crashdump, worked (dump size of 32 mb)

Is there any way to not be guessing here and generate the right number
for the kernel you are using and modules that have been loaded?  (In
other words, get current kernel size and add percentage buffer).   Per
another private case we may have situations where 128 MB is not enough.

If we can't auto-detect this (building upon chiluk's' comment), I would suggest something like (the numbers can change but I think we do need more levels):
< 1.5 GB of RAM:  is it virtual kernel?  then do 64 mb, if not do 128 mb
1.5 GB to 4 GB: everything do 192 mb
4 GB+:  256 mb
12 GB+: 512 mb (is there a point when we should stop?)

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to kexec-tools in Ubuntu.
https://bugs.launchpad.net/bugs/785394

Title:
  Hard-coded crashkernel=... memory reservation in /etc/grub.d/10_linux
  is insufficient

Status in “grub2” package in Ubuntu:
  Confirmed
Status in “kexec-tools” package in Ubuntu:
  In Progress

Bug description:
  Binary package hint: grub-pc

  This concerns grub-pc 1.99~rc1-13ubuntu3 in Ubuntu Natty.

  The /etc/grub.d/10_linux file contains this snippet:

      # add crashkernel option if we have the required tools
      if [ -x "/usr/bin/makedumpfile" ] && [ -x "/sbin/kexec" ]; then
          GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M"
      fi

  I am on a system with 2GB of RAM (reported as 2038MB), and according
  to the kernel startup messages, 64MB is reserved for the crash kernel.

  Unfortunately, this does not appear to be enough memory for the
  regular Ubuntu kernel to boot. I am attaching a kernel log obtained
  via serial cable; it shows the initial boot, a crash in the kernel's
  video-driver-related code, the subsequent crashkernel boot, and then
  an apparent "out of memory" kernel panic. (A side effect of the
  "double crash" is that the system is left unresponsive, requiring a
  manual reset instead of rebooting itself automatically.)

  If I double the memory numbers in the crashkernel=... argument, so
  that the reservation is 128MB, the system correctly goes on to attempt
  a vmcore dump and reboot.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/785394/+subscriptions