In the past I've gotten a bit fed up with out-of-memory conditions on Linux, where the virtual memory starts swapping and hogging disk activity, and the machine slows down.
So when I installed Ubuntu on my MacBook Pro, I noticed that it had 8 GB of memory, and I said to myself, "that seems like enough, I think I'll avoid swapping problems and not reserve a partition for virtual memory. I need the disk space anyways."
Well, to my surprise, it turns out that the user experience in out-of-memory conditions with Linux without virtual memory is much, much WORSE than I expected.
If I accidentally compile too many large C++ files at once (easy to do with "make -j6"), or something else that accidentally consumes the machine memory before I notice, instead of that program crashing and giving an error as I would expect, it turns out that the behaviour instead is that my entire desktop stops responding and I am forced to hard-reboot the computer! Sometimes I lose lots of time or work due to this!
I would fix it by going back and re-partitioning to give myself some virtual memory, but damn.. I can't afford to do that right now. Are there any tips for getting Linux to handle out-of-memory conditions more cleanly?