kdump crashkernel=auto not enough memory

Latest response

Hi,

I use crashkernel=auto for kdump. However OOM killer killed lvm which resulted in a missed vmcore.
My question is if anyone knows how crashkernel=auto works? Is this a bug since the auto doesn't seem to calculate correctly?
The machine have kexec-tools-2.0.0-209.el6.x86_64 and 32GB memory.

Responses

Hello,

Did kernel panic resulting in kdump kernel boot which failed to save vmcore due to oom?

Does crashkernel=256M work?

 

>>My question is if anyone knows how crashkernel=auto works?

Have you already seen following articles? They contain some good details about how crashkernel=auto reserves memory:

How should the crashkernel parameter be configured for using kdump on RHEL6?

https://access.redhat.com/knowledge/solutions/59432

kdump memory usage improvements included in Red Hat Enterprise Linux 6.2

https://access.redhat.com/knowledge/articles/66706

As mentioned in above article the only way to ensure that sufficient memory is reserved is to test the kdump in advance:

<snip>

It is dificult to reliably predict the exact amount of memory needed for kdump kernel as it varies based on many factors. The updated crashkernel=auto logic uses the following calculation to determine the amount of memory to reserve:

reserved memory = 128MB + 64MB of memory per TB of physical RAM

So if a system has 1TB of memory crashkernel=auto will reserve 192MB (128MB + 64MB) of memory. This should ensure the amount of reserved memory is sufficent on wide variety of systems. However if there are (for example) many storage cards in the system and the associated drivers consume a lot of memory in the kdump kernel then additional memory may need to be reserved. The only way to ensure that enough memory has been reserved is to test kdump prior to placing the machine into production.

</snip>

 

Thanks.

>>>Did kernel panic resulting in kdump kernel boot which failed to save vmcore due to oom?
failed to save vmcore due to oom killed lvm which resulted in a failed mount

>>>Does crashkernel=256M work?
I tried 192M. It works. I was just curious about the 'auto'.

Thank you Nitin for the explanation.