Memory Magic monitors your Mac's memory usage and transparently performs optimizations aimed at freeing/relocating memory.
Secondly it features history graphs to help you visualize both physical and virtual memory usage patterns and a manual "Force memory recovery" mode.
It is similar to the built-in "purge" command in that it gets rid of some unused memory but that is where the similarities end, Memory Magic weights a lot of factors like what applications are running, what applications were recently terminated, the memory distribution and swap usage.
Memory management is really complicated stuff, most people should not even think about it but for the ones that want to i tried to make it as accessible as possible to get a view of the basic statistics.
Great care has been taken to make Memory Magic as non-intrusive as possible, it uses very few memory and cpu cycles, it will not attempt optimizations when cpu load is too high or when memory operations would only slow down the system.
Memory Magic is fully retina display compatible, has a very clean interface aimed to be natural and emphasize simplicity, does not use the discrete graphics card if the graphs window is not loaded.
The history in the graphs goes back about 45 minutes, the times when it attempted memory optimizations are highlighted, if you want it to keep it as lean as possible however you can never left click it's menubar and it never loads the graphs, you can right click it to go directly to the back side.
In a nutshell
In regards to memory and operating systems roughly speaking there are two categories by magnitude, the unixes and windows, with almost opposite memory management behavior, windows on one hand has/had notoriously bad memory management, unixes on the other hand always had a most solid one, let's look at one of the main difference from the users perspective between the two:
- windows wants to have free memory, it always has to have some, if it runs out it is unable to swap out inactive memory, and since it has no concept of inactive memory there is also no reusing it
- unix wants to have no free memory, it runs the best if it makes the most of all it's memory, swapping out in between portions of it and keeping inactive memory ready for reuse
That being said you'll be forgiven to be confused as to why Memory Magic features the free memory prominently and works to increase it, well it's complicated, OS X is a very particular unix and it's memory management specifics are pretty singular compared to other unixes, while it's optimal to not overly relocate unused memory that might be used again by their initial allocators you might want to do so at times but a operating system typically has to be pretty conservative about memory management and they can't afford to be too aggressive as long as there are no serious memory shortages, in a nutshell, Memory Magic complements the already good memory management routines in OS X by providing the added aggressiveness.
RAM history section details
This section shows you the RAM (Random Access Memory) usage history.
- Free - this memory is not used, just waiting to be allocated
- Inactive - this memory is not used, just waiting to get reused or swapped out
- Active - this memory is used by running processes but it is swappable
- Wired - this memory is used by the Mach kernel, it typically sits around 1GB in size and is non-swappable
Swap history section details
Operating systems use the disk storage space as a extension to RAM memory, this is called virtual memory or swap, it is not a scarce resource as RAM but it is significantly slower on non SSD disks (if your disk is a SSD or Fusion Drive swap is pretty much as fast as RAM so you should never think about memory limits as yours virtually has none).
Most applications use a mix of swap and RAM as their memory and this changes trough the lifetime of the process, the files themselves are in /private/var/vm/ and are usually prioritized/optimized in terms of fragmentation and physical location on disk for rotational drives.
- Reactivated - this is a kind of a cache/inactive memory that can be subsequently reactivated
- Copy-on-Write - this is a kind of shared memory for read access, for write access a copy is made hence the name
- Pageins - pageins happen when memory requested is found in the RAM, should happen a lot more than pageouts
- Pageouts - pageins happen when memory requested is found in the disk swapfile, should happen a lot less than pageins
Extra monitoring section details
Extra monitoring shows swap disk* usage history and memory recovery events history, once extra monitoring was turned on it can not be disabled unless Memory Magic is restarted, it should not be typically turned on as it uses significant CPU time for a background process.
Memory recovery events show in two tones of a base color, the lighter tone stands for memory deactivated, the darker tone for memory freed, the colors themselves stand for :
- Memory recovered by kernel, this is memory reclaimed by the kernel terminating dispensable processes.
- Memory recovered by user, this is memory reclaimed by user (or some automation) via process terminations.
- Memory recovered by Memory Magic, this is memory reclaimed by the automated (or user forced) Memory Magic routines.