I’ve recently seen GCC processes consuming as much as 1GB RAM for it’s resident set size (ie, what it actually consumes in memory). I also have an i7 processor, which means I’d like to run compiles at -j8 and higher (to compensate slightly for disk IO). I have 4GB of RAM. Now, at 8 processes, each consuming 512MB of RSS, I’m starting to push into swap quite considerably, resulting in much slower actual compiles, and I can just as well be using -j2 wasting a LOT of resources by it just sitting there and not getting utilized. A plan had to be made. (more…)