Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Isair

macrumors member
Original poster
Jul 7, 2010
72
0
San Francisco, California
mzi.setfywjo.175x175-75.png


Visit the Mac App Store page.

iMemoryCleaner provides your Mac the freshness of a reboot by giving you the ability to clean the inactive memory on its RAM with a single click. You can also monitor individual apps' memory usage easily and terminate them from a process list sorted according to their memory usage. iMemoryCleaner is significantly lighter on system resources compared to others when monitoring.

• Light on system resources while monitoring.
• Immediately halts monitoring when its window is not selected.
• Minimalistic and easy to use interface.

Please take note that while cleaning the inactive memory, your system may not respond for a few seconds. Please be patient as this is an expected behavior.

page9-screen-shot-2011-03-15-at-1.13.57-pm.png

page9-screen-shot-2011-03-15-at-1.14.02-pm.png
 
Last edited:
Rather than an app, a better approach is to gain some understanding of what inactive memory is. It doesn't need to be manually freed, as Mac OS X does this automatically.

Mac OS X: Reading system memory usage in Activity Monitor
Inactive memory

This information in memory is not actively being used, but was recently used.

For example, if you've been using Mail and then quit it, the RAM that Mail was using is marked as Inactive memory. This Inactive memory is available for use by another application, just like Free memory. However, if you open Mail before its Inactive memory is used by a different application, Mail will open quicker because its Inactive memory is converted to Active memory, instead of loading Mail from the slower hard disk.
 
iMemoryCleaner provides your Mac the freshness of a reboot by giving you the ability to clean the inactive memory on its RAM with a single click.
I agree with GGJstudios, why would you want to free inactive memory? IMO, much better to let the OS do it when it's needed.
You can also monitor individual apps' memory usage easily and terminate them again with just a single click.
You can do that with Activity Monitor!
 
OS X's memory manager does not clear the required amount of inactive RAM in constant time when an application requires more free memory for its use.

You are assuming that this app will be used when there are lots of free memory and some amount of inactive memory. No, this is not its purpose, and never will be. Inactive memory is good for performance on some cases, lets call all of them case A. These are cases like where you have enough free memory to do a memory hungry process on some app and want to open another app you have closed recently. There are other cases than A, it is a fact (e.g: Much of the memory is occupied by cached data from apps you'll probably not open in the near future and you have VERY little free memory left). You have to know when you actually want to clear the inactive memory, I should prepare a FAQ for this, I see that it was a fault not to prepare one to start with.

You can do that with Activity Monitor!

I did not state otherwise. It is there so that you can do that without opening another app for it, like Activity Monitor. It is an app for managing memory. So if you have to open another app to do something related to that subject, what's the point?
 
Last edited:
You are assuming that this app will be used when there are lots of free memory and some amount of inactive memory.
No, I'm not assuming anything. The fact is, Mac OS X frees all memory when it is no longer in use. Some of that free memory is marked as inactive, in case you want to relaunch the same app that was previously using it. However, if you don't relaunch that app and another app needs the memory, Mac OS X makes that memory available to them, just as it does with memory marked as free. Mac OS X doesn't need a 3rd party app to properly manage memory. It does it quite well natively. Marking free memory as inactive provides a performance benefit if you relaunch the same app. This app would eliminate that benefit. It will not improve Mac OS X performance at all.

From here:
The kernel maintains and queries three system-wide lists of physical memory pages:
  • The active list contains pages that are currently mapped into memory and have been recently accessed.
  • The inactive list contains pages that are currently resident in physical memory but have not been accessed recently. These pages contain valid data but may be released from memory at any time.
  • The free list contains pages of physical memory that are not associated with any address space of VM object. These pages are available for immediate use by any process that needs them.
When the number of pages on the free list falls below a threshold (determined by the size of physical memory), the pager attempts to balance the queues. It does this by pulling pages from the inactive list. If a page has been accessed recently, it is reactivated and placed on the end of the active list. In Mac OS X, if an inactive page contains data that has not been written to the backing store recently, its contents must be paged out to disk before it can be placed on the free list. (In iOS, modified but inactive pages must remain in memory and be cleaned up by the application that owns them.) If an inactive page has not been modified and is not permanently resident (wired), it is stolen (any current virtual mappings to it are destroyed) and added to the free list. Once the free list size exceeds the target threshold, the pager rests.

The kernel moves pages from the active list to the inactive list if they are not accessed; it moves pages from the inactive list to the active list on a soft fault (see “Paging In Process”). When virtual pages are swapped out, the associated physical pages are placed in the free list. Also, when processes explicitly free memory, the kernel moves the affected pages to the free list.
 
Last edited:
However, if you don't relaunch that app and another app needs the memory, Mac OS X makes that memory available to them.

That part is the thing. Making some of the inactive memory available to an app requesting free memory is not as fast as giving some of the available free memory to an app requesting it. On paper, it should be, and I hardly see a reason why it should not (EDIT: That last edited-in quote in your post actually explains why it is not as fast, simply put it is slightly slower. Not noticable at all when small amounts of pages are handled). But searching on some debates over the internet, if people don't have a habit of lying, I have seen people having faster launching times on apps when there is enough free memory available instead of inactive memory and some constantly memory-allocating processes were completed sooner than normal when inactive memory was cleared (These are all cases where free memory is as small as being close to non-existent).
 
That part is the thing. Making some of the inactive memory available to an app requesting free memory is not as fast as giving some of the available free memory to an app requesting it. On paper, it should be, and I hardly see a reason why it should not. But searching on some debates over the internet, if people don't have a habit of lying, I have seen people having faster launching times on apps when there is enough free memory available instead of inactive memory and some constantly memory-allocating processes were completed sooner than normal when inactive memory was cleared (These are all cases where free memory is as small as being close to non-existent).
If any performance difference even exists between using free vs inactive memory, it is so infinitesimal that a typical user wouldn't even notice it, unless they were running very carefully timed tests, looking for it. Also, the only minutely measurable difference would be if the inactive memory had to be paged out before being released. In most cases, it would have already been paged out.

Building an app based on some people's comments on the internet vs Apple's own documentation isn't something I would consider doing, but hey! There are thousands of useless apps being sold every day to buyers who don't know any better!
 
If any performance difference even exists between using free vs inactive memory, it is so infinitesimal that a typical user wouldn't even notice it, unless they were running very carefully timed tests, looking for it. Also, the only minutely measurable difference would be if the inactive memory had to be paged out before being released. In most cases, it would have already been paged out.

Building an app based on some people's comments on the internet vs Apple's own documentation isn't something I would consider doing, but hey! There are thousands of useless apps being sold every day to buyers who don't know any better!

You are missing the fact that Apple's own documentation does not mention anything about time. Also those people are apparently facing problems related to the matter to comment on it, in your course of thinking I can ignore your comments too. But I do not, because it contains a valid argument worth talking over, just like those people's comments.

You are also again making assumptions. Actually I am making assumptions too, but they are more backed up by real-world data than on-paper data. Like say this article (recent), and this post (older). Lots of people are experiencing slowdowns when most of the allocation has to be done from the inactive memory, you can search a bit over.
 
dunno what you guys are complaining about. if you want to let OSX do it for you then don't download it?

however, i've seen on more than one occasion where i SHOULD have inactive memory freed up on my old 15" MBP 3 gigs of ram but it always ended up being swapped. of course, the fans would start kicking in until i quit the offending memory hogger.

here's a pic of the memory usage on my 2011 MBP with 4 gigs of ram and ~2 gigs of free/inactive... yet some, albeit a tiny fraction, was swapped. i've had this new machine for less than a day so i can't really comment any further on what's going to happen.

20110316-kkgp1nqhshxbdt1n1ra8458rid.jpg
 
here's a pic of the memory usage on my 2011 MBP with 4 gigs of ram and ~2 gigs of free/inactive... yet some, albeit a tiny fraction, was swapped.
What that doesn't show you is how much inactive/free memory you had at the time of the swap. The page outs are a total since your last reboot. They could have happened at a time when you had no free or inactive memory.
 
Sorry, your software might help on windows, but won't do anything in OS X except waste mac users' time and money.

This subject has caused a good deal of antagonistic postings on various boards, with GGJStudios playing an active role advocating the position that OSX "just works" and does not need any memory intervention.

It's my opinion (and just that) that theoretically OSX should not require any memory management. But, in actual practice, I think the theory falls down. I have an iMac and MacBookPro both limited to 4GB RAM. On both machines I have serious memory issues that will bring my CPU to a virtual halt. No doubt it is due to my practices of having 15-20 apps open, including 3 or 4 web browsers with many tabs each, plus perhaps something as hungry as iPhoto, plus TimeMachine intruding to do its too-often back-ups.

I use ATMonitor, which also has a Purge Memory option, to display my CPU and RAM use in the menubar. After a couple hours of computer work I very rarely see RAM use at less than 90% , and 99% is not unusual. (ATMonitor allows me to sort processes by RAM use and I often see 'mdworker' or 'kernel task' at the top of the list.) When I do observe a 99% RAM use I start shutting down programs that I don't really need open. Of course, the RAM % does not change appreciably until I invoke the Purge Memory menu item - and then Voila! - RAM use drops into the 70-80% range and I can again use the computer.

Thus - my conclusion is that in spite of the design of proper memory management with OSX, in practice with hungry programs and indiscriminate user patterns, a memory cleaner for Mac is not at all a bad idea.

YMMV....
 
Thus - my conclusion is that in spite of the design of proper memory management with OSX, in practice with hungry programs and indiscriminate user patterns, a memory cleaner for Mac is not at all a bad idea.
As this, your first and only post in this forum, is to resurrect a 3 month old thread to promote an app, your post sounds suspiciously like nothing more than an advertisement.
 
As this, your first and only post in this forum, is to resurrect a 3 month old thread to promote an app, your post sounds suspiciously like nothing more than an advertisement.

@ GGJ....You may assume anything you like about my motives, but your post says volumes about your interest in solving Mac user's problems.

I had no intention to 'resurrect' anything, but ran onto this thread (and some of your other pontifications on the subject) as I attempted to research my Mac memory problems. I make no apologies for being a new poster here and none for not spending my hours and days entering comments on the MacRumours forums. I have many years (over 25) as an involved and informed Mac user but readers may draw their own conclusions as they choose.

I have nothing to 'advertise' or sell and simply reflected my experience with my machines and some of the friends for whom I offer my own limited Mac advice. If the information I provided does not suit your theories, then I suggest you ignore it.
 
@ GGJ....You may assume anything you like about my motives, but your post says volumes about your interest in solving Mac user's problems.
My posting history proves my long-term commitment to solving Mac users' problems, as I have answered thousands of questions posted over the years. All too frequently, we get a single post from a new member who never posts again, promoting some app or service. There's no reason not to suspect that as a possibility until proven otherwise.

In your post you mention mdworker being at the top of the list, but you don't mention whether Spotlight was indexing at the time, which would account for mdworker using more CPU, and would have nothing to do with free vs inactive RAM. As an aside, you can adjust Time Machine's backup interval if you find it's too frequent.
 
I have an iMac and MacBookPro both limited to 4GB RAM. On both machines I have serious memory issues that will bring my CPU to a virtual halt. No doubt it is due to my practices of having 15-20 apps open, including 3 or 4 web browsers with many tabs each, plus perhaps something as hungry as iPhoto, plus TimeMachine intruding to do its too-often back-ups.

In this scenario, I doubt that the so called "memory cleaner" apps would be of much help. The only way to remedy your problem is to limit the default RAM allocation to active apps, potentially causing slowdowns and/or instability. An app like iMemoryCleaner will do nothing for you here - guaranteed.
 
@gorskie - - I think I understand why you choose your tag line.
Your "guarantee" holds very little water relative to what I experience on these computers.

The attached PDF illustrates exactly what I have described and unless you choose to dispute what Activity Monitor reports you have to admit that purging the memory was a great help.

@GGJ - - Rather than apologize for your hasty/snarky comment, you choose to digress into a speculation as to why mdworker was drawing so much CPU and RAM (indexing was not active.) Again - look at the attached screen shots and then please explain why my opinions here should so quickly be dismissed. Sorry - I don't feel the necessity or inclination to "prove" my intentions since this board appears open to all that choose to participate.
 

Attachments

  • PurgingMemory.pdf
    74.7 KB · Views: 156
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.