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"?
|
|
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. |
|||||||||
|
|
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 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 |
|||
|
|
Reading system memory usage in Activity Monitorfrom support.apple.com gives a detailed explanation about the different "types" of RAM.
|
|||
|
|
|
'Oh yeah, and wired memory turns out to be memory "used by the OS [which] is pretty much untouchable. Another application can't 'borrow' wired memory' from tuaw http://www.tuaw.com/2007/03/06/just-what-is-wired-memory-anyway/ |
|||
|
|
|
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! |
|||||||||
|