If you have it, you'll use it…

Back when a G4 Powerbook was my primary computer, I had a gig of RAM and that was more than enough. So when it came time for me to upgrade and I went with a G5, I figured 1.5G would be pretty cool because it was 512M more than what I had before, which was always enough.

Unfortunately, it only took a couple of months of adjusting to having dual processors and a G5 that I started running out of memory…daily even. I didn’t have to quit apps like I used to on my Powerbook to make a small fraction of CPU time available for the current apps I was using. Having dual processors is just such a huge bonus, and it’s very rare that I actually peg both CPUs, usually only when compiling. The result, memory filled up, swap started going nuts (there’d be times I would find myself using 1.25G of swap), and the machine just slowed down and kept me from getting work done.

Well, a couple of weeks ago I finally decided to buy another gig of RAM, and it sure has made a big difference. I don’t feel nearly as crunched for space, and I don’t have to go through every so often and quit apps that I haven’t used in awhile. The thing is, if you have the RAM, you’ll use it. I found that out pretty quickly when I glanced at Dash Monitors after a day of working and noticed that most of my RAM was being used. Here’s a screenshot:

You’ll notice this screenshot also shows a new stat that Dash Monitors can monitor: Swap space. I’ve had a lot of requests for this feature, and I finally got around to implementing it. A lot of people just wanted to know how large the swap files were (by looking in /var/vm), but I felt that didn’t really show how much swap the computer was actually using, especially when you start using so much swap that each swap file is 1G or more. You might have a 1G swap file but only be using 50M of it, that makes a big difference. I found that by running sysctl, you can get some good virtual memory stats:

[Quiksilver:~] mike% sysctl -a vm
vm.loadavg: 0.26 0.25 0.25
vm.swapusage: total = 512.00M used = 205.92M free = 306.08M

Then it was just a matter of interfacing with sysctl APIs directly from MTK and the widget plugin. Works great, and I think it will be a good addition to Dash Monitors 1.4 when it is released.

Anyway, I think this will hold me off for a good amount of time. I still have 2 free DIMM slots, so I can always go for 1 or 2 more gigs, but by that time this machine will probably be getting close to the end of it’s life span. In the mean time, I’m happy and definitely enjoying the extra RAM.