On hibernation, somehow the upgrade to Ubuntu 11.10 broke hibernation, which was working when I was using Ubuntu 11.04. Or perhaps it was from my fiddling with the fglrx driver for AMD graphics.
Got a message that there wasn't enough space, which was weird. Followed the instructions on making a new swap partition work for hibernate, and even tried to create a 10 GB swap partition, but was still being told that there wasn't enough memory! It only worked intermittently when I had freshly booted in.
Stumbled upon this forum thread which led me to the answer.
- Checked /var/log/syslog which showed that the hibernation image needed more pages than available in the swap partition.
- The magic fix is "echo 0 > /sys/power/image_size", which was set at too high a value on my system.
- As this value is reset across reboots, I embedded this line at the start of /usr/sbin/pm-hibernate.