Home » System, Utilities

Minimem: reduce the memory footprint of individual programs on demand

Submitted by Samer on August 7, 2008 – 10:59 am21 Comments

minimem before and afterMinimem is a free program designed to reduce the memory footprint of individual applications selected by the user. It runs in the background and will handle as many processes as requested.

If you’ve ever encountered a program that simply uses too much memory, Minimem will almost certainly be able to reduce it’s memory expenditure for you; just point Minimem to said app and watch its memory footprint magically decrease to a fraction of it’s original usage. It really is that simple (and really quite impressive to see).

Now that you know that Minimem will do this, a number of questions arise: is this a good thing to be doing? How is Minimem able to accomplish this? Which applications are a good fit to optimize using Minimem? This review will attempt to answer (or at least explore) some of these issues.

minimem screenshotMy experience with Minimem: to test this program I set it optimize the memory usage of four programs which I knew consumed too much memory (or memory than I thought they should). These programs were: Internet Explorer, Digsby, Outlook 2007, and VolumeTouch. All I had to do was run Minimen and select the programs I wanted (see image to the right) And although Minimem consumed approximately 20 megs of memory itself, the overall “savings” was in fact many times that number. See the screenshot above for a before and after. (Note: whether or not these apps were a good choice for using Minimem is another story).

How does it work?: according to the Minimem website “it optimizes memory by removing as many non-necessary memory pages as possible from the selected processes.” It will do this every 30 seconds by default, although this time interval can be tweaked by the user. The applications can then load these memory pages back if and when it actually needs it; meanwhile, if it does not, that memory is made available to other applications that might need it.

When is this a good idea?: I am assuming that (a) there are instances where “optimizing” a program’s memory footprint using Minimem is a good idea, and, alternately, that (b) in many cases there is in fact a very good reason why a program might hold on to memory pages and not unload them, and using Minimem to force it to do so is therefore not a good idea. The following are situations where I think that you might use Minimem to very good effect:

  • Programs that have problems with memory leaks: such as Firefox v2 (and maybe v3?). These programs tend to hold onto pages in memory past the point that they should, and get increasingly larger and top heavy without needing to be. You might need to observe your programs and/or do some research on the internet to identify these, though. As a rule of thumb any program that grows exponentially and becomes unwieldy the more you use it might be a good candidate). The authors recommend using Minimem with browsers, office applications, and word processors.
  • Programs that run in the background and are only used occasionally or intermittently: VolumeTouch, which is a program that is used to alter volume using a hotkey/mouse combination, is a good example (down from 16 megs to 2 megs). Judging from this program, it would seem that Minimem can significantly lower the memory footprint of a .NET application, whose memory usage is likely to be inflated to begin with.
  • Other situations: reducing the memory footprint of apps could potentially enable the running of “newer” software on older computers with low resources.

Why it might not be a good idea to use Minimen on all programs: as mentioned above, many programs hold pages in memory and/or cache information in order to optimise performance (to reduce the need to read info off the hard drive, which is slower and can function as a bottleneck). So in theory it is possible that you might use Minimem on a program, reduce it’s memory usage significantly, and nonetheless end up lowering the program’s responsiveness and overall performance, etc.

Portability: simply copy the “minimem.exe” executable that the installer places in “Program Files\Minimem” and use that from a USB device (according to the program website). However, since it requires MS .NET Framework you might not be able to run it in environments that do not have this framework installed (although all Vista OS’s and most Windows XP’s will have it).

The verdict: this an is interesting an original program that at the very least is worth installing in order to optimize Firefox and/or Internet Explorer, and can be extremely useful in case you are running programs that exhibit memory leaks or consume a lot of memory unnecessarily. Not for everyone, but I really like.

Version Tested: 1.0

Compatibility: “should support all Windows versions, though it is only tested on Windows XP 32 bits SP3″ – quote from the website. Requires Microsoft .NET Framework 3.5.

Go to the program page to download the latest version (approx 401K).

Related Posts with Thumbnails

21 Comments »

  • Lee Mathews says:

    I tried this out as well, and although there appear to be savings, Firefox usually climbed steadily back up to where it was pre-minimem within a few seconds. Also, it’s buggy. Two of the programs I set to optimize disappeared from the list of running tasks altogether and several apps never appeared in the list in the first place.

  • Intrinsic says:

    If it’s anything like other programs in this catagory, then the memory used(in total) by the program stays the same, but what it does do is more aggressively pages stuff out to the swap file. You could check this out for use by using something like Process Explorer, double click on the process you want to check then click the Performance tab to see for sure. Task Manager only shows what is currently in Physical Memory for example, it doesn’t show the actual memory(virtual or physical) used in total by the process, Process explorer will show you for sure.
    So, if you have too many programs set to page stuff out to the swap file you can actually decrease system performance as it can lead to excessive disk thrashing when it needs/doesn’t need data and starts paging.

  • JH says:

    Cannot get this to work unless only one item is checked – if I check 2 items – it gives the Microsoft Sorry … window and shuts down. Using Windows XP with all SPs.

  • Kerkia says:

    I just thought I would reply to those relevant comments given I authored Minimem. First of all, thanks a lot for your interest in this utility. I originally developed it for my own use, and it was just DOS command then, and added a GUI to it a couple weeks ago to make it available to all at some friends’ request.
    First of all, I apologize for the bugs of this first version, and the comments on this topic are correct unfortunately. I believe I fixed most of them, if not all, in the 1.1 version now available for download, with the nice support of a few users who saw those bugs (I could not reproduce them myself).
    Concerning what the program does, the review and the comments are quite right; I would just like to point out that almost no program out there is optimize in terms of its use of RAM, which is unfortunate, and most of them just keep tons of stuff in memory because it’s simply easier for the developers to do so. If you add the memory leaks on top of that, then you end up with memory monsters that really should not be so, and Minimem does miracles on those programs. Of course, if all programs were well written and optimized, and if on top of that the OS were more clever than it is, then Minimem would not be useful, but that is not the case. So the best is really to try and see what the results are, as they will differ from program to program. Browsers typically save tons of stuff in memory and paging that on disk is usually a very good idea as it only takes millisecons to get them back if necessary anyway, which is transparent to users. For a scientific application however, that would for example invert large matrices, then using Minimem would be a very bad idea as it would impact performance for sure. On a last note, using Minimem on tons of programs is indeed not a good idea for the reason mentionned in a comment above; I personally use it with Firefox, Thunderbird and one other program I can’t mentionned when my poor computer RAM is too loaded.
    In any case, please do nto hesitate to send me feedback, comments and feature requests directly: I’ll do my best to answer most.

  • matt says:

    I think this will reduce the speed of Firefox, right ?

  • JH says:

    Author is extremely responsive – he found a fix for my remark above regarding only one checked item working – great work Kerkia!

  • blogward says:

    I was having memory bottlenecks with Dopus and Opera – now they seem OK with this, though it may be the forced install of M$ NET framework 3.5 (??)

  • blogward says:

    One tip – don’t try to minimize AVG – it’ll uninstall it.

  • CT says:

    @Intrinsic: Windows Task Manager CAN show Virtual Memory, along with some other optional items, by going to ‘View’ -> ‘Select Columns’ – Just FYI. I use ‘System Explorer’ myself, as it’s a real ‘All-in-One’ tool. http://systemexplorer.mistergroup.org/

    Watching this ‘Do it’s Thing’, it seems to be doing what SweepRAM does, only on an automatic 30-second schedule.
    [Samer’s review of SweepRAM is at http://www.freewaregenius.com/2007/07/06/sweepram/
    SystemExplorer has a similar ‘Processor Memory Usage Cleanup’ option under it’s ‘System Utilities’ menu.
    Both of these do a ‘One-Shot Clean-Up’ – Launch it, it Auto-Cleans & then Exits from memory – Essentially booting almost everything into Virtual Memory, and letting the program ‘Take Back’ what it REALLY needs.

    I already have SweepRAM clean up my memory as the last step of my boot process, which really helps, and periodically throughout the day, I’ll do another ‘Sweep’ manually (via ‘KeyBreeze’ Shortcut); I’m a little uncomfortable of having a program choose WHEN to ‘Sweep’ – When I control it, I know I’m not in the middle of something important.

    I’ll run it through some tests today, during large downloads, Streaming Video/Audio, Defragging the Hard Drive on a ‘Test System’! ;-) – It will be interesting to see if anything else is affected during the Clean-Up!

  • [...] cracked up to be. After giving Minimen a try on my PC and reading FreewareGenius’s detailed review (along with the author’s comments on that post), Minimem appears to be the real deal under [...]

  • Anonymous says:

    It won’t install

  • Jeff says:

    I’m also having trouble with it… it appears that version 1.1 has an invalid installation package

  • Samer says:

    @Jeff, Anonymous: I installed v1.1 just fine but had to uninstall v1.0 first.

  • Chris says:

    How does this compare to SweepRAM? Does it do the same thing, only for selected processes instead of across the board?

  • [...] consumption: approx 38 megs, it looks like. I deal breaker for many readers, I know (check out Minimem, which can help in this [...]

  • Kerkia says:

    Thought I’d mention I released version 1.2 which notably allows not optimizing anything when the RAM usage is not high anyway and improves the engine so there is no perceivable slow down at any time and no matter how many processes are optimized. Oh, and you can also avoid optimizing the process that owns the foreground window, quite useful in some cases. Indeed, the first option means it may do nothing at all if you have lots of RAM and don’t use it all, but I think that’s a good thing as pointed out by some comments here. I’d also have a question about process lasso used with Minimem. Indeed, I happen to use both as well and don’t see any issue. I’d recommend to try it again with the latest Minimem version. I’m actually working on another tool that would combine both capabilities in an optimal way; may come in a few months.
    Oh, and the installer problem noticed by some is now gone; sorry about that one.

  • Larry Miller says:

    I would question the usefulness of this program. Contrary to many uninformed sources, Windows memory management is usually very good and user intervention is counter productive. The program will indeed reduce the memory footprint of high usage programs and increase available memory. But I suspect that the benefits will only be cosmetic and not result in improved performance.

    Windows already as an efficient system for trimming the memory usage of applications when needed, and it has access to data structures and functions that are not available to any application. What is available to Minimem is crude in comparison. On the plus side the program allows intelligent user input into this process, and that could be potentially useful. But that would be conditional on the user having a working understanding of how Windows manages memory and is able to intelligently guide the process. Unfortunately, very few who use the program will will have that kind of knowledge. And most who think they do don’t. In the hands of the average user this program is more likely to impair performance than improve it. Improved documentation by the author is unlikely to help much.

    Larry Miller
    Microsoft MCSA

  • Tom Doan says:

    I’d have to agree with Larry on this one. I’ve tried various shareware and freeware memory sweeper utilities over the past decade and not a single one has managed to improve my productivity in the long run. In fact, many of these utilities decreased my productivity as I had to wait for applications to reclaim their paged memory. I’m not saying that Minimem will do the same, but this is the experience I had with similar utilities, therefore I do not expect Minimem to be some kind of holy grail or silver bullet that performs black magic.

    I suspect any perceived improvements is a result of the placebo effect. I don’t know much about the inner workings of Microsoft’s memory management architecture, but I do know that from my numerous layman observations, my system’s performance correlated most accurately with the total commit charge, NOT the memory consumption of individual applications as listed in the Task Manager. Looking at the screenshot Samer posted, I see that the commit charge (displayed in the statusbar) went from 974 to 966 MB. One interpretation of this is that Minimem only effectively reduced Samer’s PC by 8 MB when all is said and done. Furthermore, it is tuggling with Windows’ own memory manager to optimize memory in the background, possibly introducing more overhead.

    If you don’t believe me, here’s a test that anyone can do: (1) Restart your PC and load as many programs as you can until your system starts to feel sluggish. It’s even better if you can do this on a dinosaur (e.g., Pentium 4 with 256MB of RAM). (2) Now restart your PC again, install a memory sweeper utility, and proceed to repeat step 1. I would be surprised if anyone would be able to load more programs without slowing down the system by using a memory sweeper utility.

    There’s a good reason why we have adages like TANSTAAFL (also this and this) and the first law of thermodynamics. So remember, when resource A in your system decreases, it didn’t just magically vanish out of thin air; it merely got redistributed to resource B. In effect, your system may have improved in one area, but adversely affected in the other (in my case, increased hard disk thrashing).

    With all this said, I do appreciate Kerkia taking the time to produce a GUI and offering it up for free to the community. I guess if it works for you — and confirmed not a placebo effect — then more power to ya. YMMV.

    Tom

  • [...] applications’ memory utilization: this program is by the same developer who released Minimem, an excellent memory optimization utility designed to reduce the memory footprint of individual [...]

  • [...] applications’ memory utilization: this program is by the same developer who released Minimem, an excellent memory optimization utility designed to reduce the memory footprint of individual [...]

  • [...] applications’ memory utilization: this program is by the same developer who released Minimem, an excellent memory optimization utility designed to reduce the memory footprint of individual [...]

Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.