I'm working with really big files - ~10 giga each. I'm programming on a Mac. Mac has an "Activity Monitor" that lets you look at, among other things, how much memory you're using. The memory is divided into 4 categories - free, wired, active and inactive - and the total amount adds up to the amount of RAM that you have (i.e. it's not counting virtual memory). When I run a program to parse these huge files, my "free" memory starts getting eaten up and turning into "inactive" memory until there is essentially no "free" memory left. The total RAM is 4 giga. However, this parsing program isn't doing anything that requires a lot of memory. It's going through the file and remembering 4 different things, which it sticks into scalar variables, and then periodically printing out all four scalar variables. I'm not making any mistake like pushing stuff onto an array and never clearing it off. But still, the farther I get into the file, the less "free" memory I have. Does this make sense to anyone?