kernel_task and softwareupdate constantly hogging .5 GB of RAM each I have a 2011 MacBook Pro. It had 4 GB of RAM and I upgraded it to 6 GB last year as it was getting a bit sluggish with the newer versions of OS X and running Vagrant VMs on it.

Lately, I’ve noticed my MacBook’s really slow upon waking up. As in, it takes up to a minute before it’ll accept keyboard and trackpad input, and app switching is woefully slow. And when input is recognised, it’s just very slow to operate.

After working on my MacBook through this sluggishness for about half an hour, and the fans kicked in, I decided to open Activity Monitor to see what’s actually going on.

Vagrant’s using nearly 2 GB of RAM (that’s fine, that’s what I set it to use, and I can scale that down), but I also noticed that two processes—kernel_task and softwareupdate—are both using .5 GB each. Add this with Chrome using around .5 GB and other applications, this quickly adds up and puts pressure on my poor 6 GBs.

The softwareupdate process is self-explanatory, but why is it using so much memory? I imagine it’s only hitting Apple’s servers to check for software updates. Does it really need .5 GB for that? And what about the kernel_task process? Why does that need .5 GB of memory as well?
kernel_task is, in effect, 'the operating system'.
Every process hangs from it, it's at the top of the entire tree of what processes are running on your machine.

Run Activity Monitor [Applications > Utilities]
From the View menu select 'All Processes, Hierarchically'
Switch to the memory tab
Click the Memory column until the arrow points down

You can now see the 'tree' of processes, which are running inside another, &amp; how much memory each is actually using. Note, for things like web browsers, that each page uses memory in addition to the overall usage for the browser itself.

It has to be said that 6GB RAM isn't much, these days - &amp; using 2GB of that for a VM is not really leaving you with a lot to play with.