I'm trying to figure out what is using all of the memory in my Macbook Pro running OS X Lion. I have 8 GB of memory total. When I quit all active programs except Finder and Activity Monitor, then run a memory cleanup (FreeMemory) it shows about 5 GB of Free Memory, 1 GB of Active Memory, and 1.5 of Wired memory. Support docs say Wired Memory is full of stuff that "can't be moved to disk". What is taking up all of that memory? Is it the menubar processes? I have mozy, last.fm, dropbox, and growl running in the menubar but they all appear in Activity Manager and don't appear to be using a significant amount of memory. I also run Parallels but it is shut down completely so I thought all of it's stuff should be written to disk. Is it just Mac OS X using a reserved chunk of memory and labeling it "Wired"?

6 Answers
6

From what I can tell, wired memory belongs to the kernel, the innermost core of Mac OS X. It's many layers removed from the icons in the menubar, which are just ordinary apps showing themselves in an odd way.

Wired memory is used for some of the core functions of the operating system—things like keeping track of all the applications on your system, or open files and network connections, or chunks of memory used by various drivers. The "page tables" that form a map of your system's memory are also stored in wired memory, and a system with more memory needs larger page tables. I suspect that the memory used by the integrated video chips in most Macs is wired as well, but I can't find anything that says that outright. In any case, much of this information is needed to manage and access memory, and so it can't itself be swapped out to disk!

To understand why, imagine an enormous library. Think of, for example, the Bodleian Library at the University of Oxford, which has eleven million printed items. There's no way you could possibly fit all that stuff into a single building—certainly not one in the middle of a university campus.

So instead, imagine that the librarians construct a vast warehouse. (The real Bodleian Library has about forty sub-libraries of various descriptions, plus storage for really rare books, but this is a thought experiment.) Most of the books are kept in the warehouse, but anything that's been used recently is kept in the library. If you show up at the library looking for a book, and it's in the stacks there, you can read it immediately. If not, ask a librarian and the book you want will be transported from the warehouse and given to you the next day.

The information in wired memory, then, would be things like the card catalog, keys to the book delivery trucks, and maps of the route to the warehouse. If you stored these things in the warehouse, you could never retrieve books to bring them back to the library—so they must be kept in the library at all times, lest the whole system break down.

Anyway, getting back to practical considerations: wired memory is basically used by your computer for internal bookkeeping of various sorts. You shouldn't worry about it.

And don't worry if you have lots of "inactive" memory and little "free" memory, either. Inactive memory is basically memory that Mac OS is keeping something in on the off chance it's needed again; if your system needs that memory for something else, it'll be converted to free memory without any performance hit.

To extend the library metaphor, imagine that the library keeps books that have been recently used in the stacks. The space is there in the stacks; there's no use leaving it empty, so you might as well keep the books you already have there. There's no harm in it, and sometimes someone will be able to pick up a book immediately that he would otherwise have had to wait for.

Similarly, inactive memory can only speed things up; it can't hurt your computer, so don't worry about it being too high.

Really, you shouldn't worry about your memory use unless wired + active starts getting close to the 8 GB in your computer. That's when you could get into trouble, because that's when Mac OS will start consuming disk space to add "extra" memory, damaging performance considerably.

Otherwise, you might as well have something in that memory. Ultimately, unused memory is just a waste of power—if you have it, you might as well put it to use.

Inactive memory can only speed things up when the set of applications used (and therefore left in inactive memory) is fairly constant and doesn't vary widely. If the OS has to page out something that's in inactive memory to launch a new app, it can slow things down. This doesn't happen frequently, but it's worth mentioning.
–
alesplinNov 22 '11 at 21:18

Saying that inactive memory can only be good for you is the biggest lie of the Mac world! In practice, Apple computers can't work if you don't have a lot of inactive memory. Try 'purging' this memory and all your programs will stall until the inactive memory is back to around 25% of your total RAM (tested on Mac OS X 10.6 and 10.7). And if what you say is true for wired memory, then why does Mac OS X needs so much of it? My computer (4GB) uses constantly at least 800MB of wired and 1GB of "inactive" memory. Nothing can explain that but bad design!
–
PierreBdRNov 3 '12 at 14:51

If your Mac uses integrated graphics (as opposed to an expensive, power-hungry discrete graphics chip), all the memory used by the graphics card is wired. This alone is 384 MB on my 13" MacBook Air. Thunderbolt controllers also need lots of wired memory, and I wouldn't be surprised if hard disk buffers do too. A couple hundred megabytes here, a couple hundred there, soon you're talking about real memory. The question is, is your Mac under memory pressure? If it's not, quit obsessing over Activity Monitor and get something done.
–
Brent Royal-GordonNov 4 '12 at 3:31

Mac OS X is a modern OS, thus is uses virtual memory to make it appear to apps that memory space is no object. Most recently used apps will tend to be moved to RAM, less used apps will be moved to the hard disk (page ins and page outs are a sign of that movement). The OS will not use the hard drive until it runs out of space in RAM.

There is no specific app that will "cause" this wired memory to accumulate. The OS is managing every parts of itself and the apps you launched to make the best use of the RAM you have.

Quitting unused apps, or better yet, restarting the computer will be the most efficient way to "clean up" the memory. FreeMemory does a good job, and am surprised the OS isn't doing such operation from time to time… it's nice to have a status on free memory though!

More specifically wired memory is memory that cannot be paged. Any other application have its memory placed in the swap file but wired memory always remains in the real ram. Some of the most common users of wired memory are visualization applications (Parallels, VMWare) and the mac os x operating system. Also don't worry if you don't have much free memory, inactive memory is as good as free because it can be reallocated to any application that needs it. Lots of page in's and out's are a good sign that you need more ram though
–
MikelRNov 21 '11 at 1:51

I agree, lots of page ins and outs is a sign of not enough ram. I have 8 gb of ram in my system, and I frequently run out of "free" space, running Xcode and adobe apps... I am thinking about putting 16 gb soon, once the price goes below 500$. I hope it'll be enough for awhile! :-)
–
FredNov 21 '11 at 3:35

Switching from a MBP with 6GB ram to a MBA with 4GB ram made me realize that SSDs are a lot better upgrade than extra RAM. 4GB with an SSD is enough to run Chrome, Mail, Skype, VMWare Fusion, iTunes, Aperture, Adium, OmniFocus and more all at once without hiccups. Going from 4 to 6GB on my MBP didn't make an enormous difference.
–
w00tNov 22 '11 at 21:36

There are several very good answers and I wanted to add a tool that anyone can use to document exactly what wired memory is in use - so a specific answer as opposed to a general explanation of the categories.

In the case where all Applications are quit and there is still a sizable amount of wired memory, you can use the sysdiagnose command to capture the system memory allocation when it is using more memory than you expect.

Then save / move the tar.gz archive of results out of /var/tmp to the Desktop so that they don't get erased upon reboot.

Then reboot your Mac and before launching any extra programs, repeat the sysdiagnose command and compare memory before and after to see what processes were taking the extra wired memory.