Question: I've followed the directions [here on the Ubuntu help wiki](https://help.ubuntu.com/12.04/serverguide/kernel-crash-dump.html) for my 12.04.2 Ubuntu Server running in VMware Fusion 5, and everything looks good, so I do a `echo c > /proc/sysrq-trigger` as root. It panics the kernel as expected, and then hangs after printing out a bunch of stack traces. 

I waited a few minutes to make sure any writes to disk (for the crash dump) finished, and I restarted the VM. When I log in again, `ls /var/crash` shows no files! Any idea how to get it to work, or whether it works at all?

Answer: 
The reason why this doesn't work properly has been well documented for over three or so years now: [see this page of the Ubuntu wiki](https://wiki.ubuntu.com/Kernel/CrashdumpRecipe#Release_specific_notes)

> 
> On systems with <= 2G RAM we won't reserve enough memory for the crash kernel's initrd to fit. That will cause the crash-kernel to panic.
> 
> 
> 

See also these bug reports for reference [#785394](https://bugs.launchpad.net/ubuntu/+source/kexec-tools/+bug/785394) and #1235616

Workaround:

To fix this issue set

```
GRUB_CMDLINE_LINUX="crashkernel=128M"

```

in `/etc/default/grub`. n.b.: You cannot put this option into `GRUB_CMDLINE_DEFAULT`, because the the setting in `/etc/grub.d/10_linux` takes precedence over that.

To "permanently" fix the issue, edit `/etc/grub.d/10\_linux and change the line

```
GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M"

```

to

```
GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=128M"

```
The problem might be your RAM is too low. It should be greater than 2GB otherwise you have to change GRUB parameters to accept `crashkernel=128M` and check 

```
cat /sys/kernel/kexec_crash_loaded

```

It should be `1`.