Lots of the new laptops coming out have a 4GB RAM limit. This baffles me, the best bang for your buck improvement you can make to a machine is to put in more RAM. I use the Lenovo X220 precisely because it supports 16GB of RAM, and the first thing I did when I got it was upgrade the RAM to 16GB (total cost ~ 100$)
There are 2 reasons I can think of to have a 4GB ram maximum total:
1) Macbook Air Did It - If it's good enough for apple , it's good enough for us. By the way, while I hate this reasoning, I bet it's actually the real reason.
2) Resume From Hibernate - Hibernate is a feature where all RAM is written out to disk so the machine can be powered down thus saving battery. To power back up, all content is read from disk into RAM and then we re-start the program execution. The more RAM you have the longer resume from hibernate takes. Lets go through an example:
To resume from hibernate you need to read back all your RAM from disk.
Assume you can read disk at 100MB/s (that's pretty fast for a spinning disk)
Assume you need to read 16GB.
This will take (160s) or 2.5 minutes just to read back your RAM state.
I'll save how to fix hibernate for another blog post!