4

I'm trying to understand how memory is allocated on my machine. I have read, and believe I understand, these posts and associated links: Trouble Understanding Inactive Memory in MacOSX, Inactive Memory

However, I still have 10 GB of 'inactive' memory while a process is using ~25 GB of swap. My machine has 32 GB RAM and a single process is using 21GB Real Mem / 24 Private / 34 virtual.

Why is this process going to swap? Is it really using all that memory that's labeled inactive, or is it possible that something is wrong with my inactive memory? I've tried purgeing, but that had no effect according to activity monitor.

1

2 Answers 2

2

I was doing some reading about inactive memory after wondering about it myself. My understanding is that inactive memory is memory containing programs and data which you have quit. OS X keeps the memory incase you decide to restart the program. Because it is still in memory it can start it much quicker. You can see this in action by quitting a large program and restarting it. It should start much faster than it originally did.

Inactive memory does not suck up your memory though because OS X regards it as still available for programs to use, jsut at a lower priority than free memory. ie. if OS X needs memory for another program, it will allocate memory from the free area, then the inactive allocation. So when thinking about how much memory you have free for applications to use, inactive and free is combined.

As for swap, if a program is using it you should easily be able to tell by the amount of I/O going on and a noticable slow down.

If you really want to see whats going on I would suggest download iStat menus which is a really nice tool for seeing the internals of your system and display various instruments in the menu bar.

0

I really don't recommend purgeing, or even trying to fully understand OS X's memory system. Unless you're experiencing performance issues, just take Activity Monitor out of your dock and let your computer do its thing. (That's what Macs are supposed to be like, anyway.)

In a more technical and less sarcastic explanation: Your Mac will automatically manage it's resources to obtain maximum performance. Inactive memory is a big part of this.

3
  • 2
    The purge was a last resort. I'm experiencing severe performance issues; when swapping my machine is essentially completely unresponsive. I understand that mac is supposed to "just get it right", but the evidence on my machine is that 1/3 of the RAM is never used. I've used memory tests within the code to show that its memory use agrees with activity monitor, but nonetheless a large chunk of my machine's memory remains inactive.
    – keflavich
    Dec 8, 2011 at 6:34
  • @keflavich What version of OS X are you running? What is the worst offending process?
    – spudwaffle
    Dec 8, 2011 at 8:28
  • 10.6.8. The process consuming 10's of GB is IDL, the Interactive Data Language. It is loading and generating large chunks of data. It's supposed to do that. I don't know which process(es?) are associated with the 'inactive' RAM. If I could find that out, I'd be satisfied.
    – keflavich
    Dec 8, 2011 at 16:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .