Hardware

Review: CleanMem memory optimization done right

CleanMem is designed to tackle the worst of memory leaking processes and shrink their memory footprint to improve system performance.

Brought to you by the guys at PcWinTech, CleanMem is designed to tackle the worst of memory leaking processes and shrink their memory footprint to improve system performance.

System requirements

  • Product: CleanMem
  • Company: PcWinTech
  • Operating systems: Windows 2000, XP, 2003, Vista, 2008 and 7 (32-bit and 64-bit)
  • Cost: No cost.
  • More Info: CleanMem website at PcWinTech.com

Who's it for?

CleanMem is for the home and business Windows PC user, especially if you have a small amount of system memory installed in your PC. This tool caters to everyone ranging from computer neophytes to experts and power users.

What problem does it solve?

CleanMem allows you to reclaim memory and do so in robust fashion. The tool is designed to tame memory leaky applications and processes and, in return, make significant gains in freeing memory for other applications that wish to use additional memory.

Standout features

  • Tiny size: Coming in at only one megabyte in size, this application is diminutive and hardly consumes memory of its own whenever it performs optimization procedures. Another advantage to its tiny size is how it can be used as a portable application on the go that will barely take any space on any modern flash drive. Great for that quick memory fix on a PC without CleanMem installed.
  • Doesn't reinvent the wheel: CleanMem utilizes calls to the Windows API to compact processes in memory. Not only is this method faster than other tools using an in-house designed engine to optimize, it is safer and far more efficient as it utilizes what already exists within the Windows operating system itself.
  • Very customizable: With ignore / allow process scripts, you can tell CleanMem exactly what processes should be left alone or included for optimization, tweak how often you wish CleanMem to run through the Task Scheduler in the Control Panel, and the ability to generate output logs that will show you before and after cleanup statistics for comparison.
  • Install it and forget it: With CleanMem, the install and setup is a no-brainer. Simply select the architecture of CleanMem you wish to install, let the setup run its quick course and you are finished! No additional configuration is necessary out of the box and it begins working right away.
  • Freeware: The best part of CleanMem is the price tag of $0. No more having to dig through your wallet to pluck down money on a memory optimizer that fails to deliver satisfying results. It is also permitted for use by both home and commercial users.

What's wrong?

  • Lack of a GUI frontend: If you are not accustomed to using scripts to customize the behavior of CleanMem or if you want to have a central location to configure all the options with an intuitive GUI, this tool lacks such a feature that would definitely make adoption of the tool a lot easier for new users.
  • Community-run support: CleanMem is essentially provided as-is and support is limited to community-run discussion groups. No 24/7 around-the-clock phone support exists. This isn't necessarily a bad thing, unless you are trying to do something fancy with the tool in a corporate environment and need answers fast.
  • Can be detected as a virus: A small subset of anti-virus software programs may flag CleanMem as malware, even though it is perfectly fine and safe for use. If possible, you may need to add the program executable to the whitelist in your anti-virus software.

Competitive products

The bottom line

Without a shred of doubt, CleanMem has to be one of the most effective tools for getting rid of bloat left behind in system memory by applications. For anyone needing a bit of a speed-fix or some more room for other applications in memory, this tool is definitely for you. Don't settle with a mediocre application that doesn't do anything to help curb your memory consumption problem. Download CleanMem today and witness the power of a true memory optimizer today!

User rating

Have you encountered or used CleanMem? If so, what do you think? Rate your experience and compare the results to what other TechRepublic members think. Give your own personal review in the TechRepublic Community Forums or let us know if you think we left anything out in our review.

Read our field-tested reviews of hardware and software in TechRepublic's Product Spotlight newsletter, delivered each Thursday. We explain who would use the product and describe what problem the product is designed to solve. Automatically sign up today!

About

An avid technology writer and an IT guru, Matthew is here to help bring the best in software, hardware and the web to the collective consciousness of TechRepublic's readership. In addition to writing for TechRepublic, Matthew currently works as a Cus...

18 comments
jeslurkin
jeslurkin

Haven't had much success with such things in the past. They might lock-up the computer, or simply fail to install. If this thing works correctly, I might not notice! (Just re-booted to clear a mem leak before reading this.) :)

benplonie
benplonie

I think most of you guys are so smart that you can have opinions without even seeing a product, and very often you will be right. Not today. I have an old slow memory-constrained computer and I have tried many such programs. They are generally memory and cycle hogs that periodically bring life as we know it to a standstill while their resident services grind laboriously through their algorithms. They have 'Quick' and 'Thorough' settings etc. which make little difference. I tried this little whiz-bang and immediately adopted it. No nagging, paralysis, running resident services, much less swap file use. It is set to run every five minutes, but I added two more task scheduler entries for startup and login, changed it to every 1 minute (after PhilippeV's comment I will scale it back to 5 minutes) and added a link in my QuickStart folder just for fun. Anyone who doubts this should try the following: - Install and locate the program - bring up task manager, add 'mem usage' and 'peak mem usage' columns - sort by memory or peak memory descending - execute Cleanmem keeping your eye on the values in the 'mem usage' column - QED The reason I changed it to 1 minute is because the darned thing executes in a split second. This is a no-brainer that should be built into Windows in my opinion.

bobc4012
bobc4012

WOT flags both "Chilly Memory Optimizer" and "RAM Booster .Net" with a "Red" Warning.

shinycar10
shinycar10

After reading the Cleanmem website, it looks like a nifty program. It uses Windows itself to free up the memory, the program just calls on Windows to do this. And it cleans the cache used by programs when they close. Very nice, thanks!

mikemascari
mikemascari

Only have 512mb, computer performance seems to go through the roof, this has solved many, many issues for me

Spexi
Spexi

Install it and then leave it ? I would'nt say that's a good conclusion to follow. First of all, it is almost paranoid that this app do not comes with a decent GUI. I mean, how many wont forget how to use it after some time? If make a deep research in how to configure which process to include and which not, it need too long time to do it if having a big bunch running. There are better apps for it out there. Besides it's better try avoid install leaky apps in the first place than move the problem forward on the RAM. Some says is little bit of a myth that it helps to free up the RAM, other tells that is wise to move the swapfile "pagefile.sys" to another drive with not that much activity to prevent overhead problems when read and write on the same disk. I've tried it but could'nt recognize that much difference. The pagefile is recommended to have a size of 1,5 times the size of installed RAM but if you have very little installed RAM the pagefile should be bigger than 1,5 times. The same if you have alot of installed RAM, the pagefile can be smaller than 1,5 times RAM. What's really mean something is by check how many services and installed apps that runs in the background as long with how many installed drivers which has to load. It's not unusual that uninstallers leaves old drivers and installed services related to the old software when uninstall something. That is also something which worth to look at if searching speed in the system. I would rather see tips for good apps that can uninstall old services and old drivers. Another case which also is included in CleanMem are what they mention regarding the disk-cache. I've been reading a research someone made on a blog that tested what happened before and after it was cleaned up. In 8 out of 10 cases there is nothing to bring out from touching it and in worst case your comp might be even slower than before. It also said, there is much to win by having as big size on the disk-cache as possible. Guess it something which can't be chosen in the registry but by choosing a decent disk when buying it. For the last to mention, Ready-boost. That's a feature which started to become developed already in XP by the in built feature "Prefetch" which saves parameters from boot and installed apps during runtime in make things work more effective and faster. From Vista and now also Windows 7 it became another extended feature included "Superfetch" which from this point made it possible to run what they call "Ready-Boost" by using a USB stick as extended form of extra space of RAM to the computer. This is possible to use under Vista and Windows 7 but NOT under XP as it do not have Superfetch. Last consideration, use a cleaning software for junk-files like CCleaner.

Mark W. Kaelin
Mark W. Kaelin

Do you spend much time optimizing memory usage in your systems? What applications do you use for this maintenance?

Matt Nawrocki
Matt Nawrocki

Glad to hear your PC is seeing improvement in performance. I have recommended this tool for ages knowing that it really works. :)

Matt Nawrocki
Matt Nawrocki

You say not to install memory leaking apps... but I must point out that that is much easier said than done. Heck, even some of the main Windows apps like Internet Explorer leak memory and that isn't something you usually have a choice over aside from using an entirely different web browser altogether. Also, as evidenced by the majority of the comments here, you can tell that the tool really does work and it isn't a joke. :p

PhilippeV
PhilippeV

actually it just marks "dirty" memory pages that have been used, but have not been accessed for some time, and only contain zeroes as being freaable. This means that, instead of Windows having to swap these dirty pages to disk befor freeing and reallocating when another use wants memory, Windows will discard the page. This application does not affect non-dirty pages that have just been loaded from a backing store (for example for the disk caches), and does not affect pages that have been allocated by applications but still not accessed, or just initilized with zeroes, because these pages can be safely discarded and recreated automatically from the backing store or by reallocating the page and filling it automatically with zeroes. In other words, this script will in fact considerably reduce the use of the swap file, jsut to write there pages that will no longer be accessed for long. In my opinion, Windows should not need any application to do that: this regular cleanup should be performed automatically by the Kernel when some application needs some memory that is not immediately available, instead of Windows swapping those unused pages that can be reloaded or reinitialized automatically. And unfortnuately, the kernel forgets to mark pages that have not been accessed by processes for several minutes : the kernel should mark all dirty pages every minute so that any further access to that page will force a page fault that will remove that mark and give access to that page to the application. When the Kernel will give access to the page, it will record in it a timestamp of whe such access was given : this will grant access to that page without interruption for, say, 5 minutes before it is unmarked automatically (forcing the application to get a page fault, if it ever wants to access to that memory page again). Effectively this program is not using memory permanently : this is a very tiny program (that has absolutely no GUI interface), it runs as a script during a couple of secnods every 5 minutes, and then leaves completely (it is run every 5 minutes by the Windows Task Manager). Its sole purpose is to reduce the "working set" of process to just the pages that are benig effectively used. It causes no swap, but can force an application to wait when the memory mamanger in the kernel will reload from their backing store the non-dirty pages that have been discarded earlier. But because the "working set" of an application is not very well computed in the kernel (that maintains no timestamps of their last effective use in the processes owning or sharing them), there are some cases where this program may cause additional delays. For this reason, this script should not run more often than every 5 minutes. I have tested it, and yes it is much better and safer than other memory cleaners whose sole work is to force applications to swap out, because they allocate giant quatities of memory, just to free it immediately : these pseudo cleaners are in fact filling the swap, causing massive I/Os every few minutes, and forcing all applications to reclaim from the swap file their pages that really were part of their most active working set. Of course there's no GUI and it will difficult for people to change its parameters files and ues the Windows Scheduler to tune it. But there will certainly be a GUI developed around it, that will allow users to perform such tuning in an easier way. Power users don't need that GUI as the script is enough documented to be immediately usable.

seanferd
seanferd

but most do both. And shoving it all to swap has the same effect anyway. Most of the RAM optimizers I've ever used do dump the "bad" bits stored in RAM, though. They also "defrag" the RAM; some, I'm sure, better than others. Not something I would use a lot or allow to run resident.

seanferd
seanferd

I used to use these in Win 98 all the time. (Notepad can't save the file due to low memory - right.) I never let them run resident, I only ever use them to flush out the RAM when necessary. Only time I've ever used one of these (Free RAM XP Pro, usually) when running XP was to free up RAM when playing leaky Flash games.

Neon Samurai
Neon Samurai

Ah.. those old days spent tweaking the registry and running every regclean/defrag/memclean I could find for the promise of an extra cycle or two. These days I avoid regdefrag tools like the plague and haven't bothered with memcleaners since a reboot provides the same result; no personal or workstations that need to be booted under Windows that long.

Spexi
Spexi

Thanks buddy, trying my best here even the FS comp is running old and only 2 GB of RAM :) Would be more fun if it was possible to use Windows 7 together with Ready-Boost instead of XP Pro. Have tried but the GUI will not work with my Nvidia graphic card so the only solution became to run the new OS virtual in VirtualBox, works perfectly well. Will perhaps get CleanMem another try forward on, hope there will be some sort of GUI for it soon. Would be nice have a manager when dealing with the log's :)

Spexi
Spexi

Yes I agree, there are some if not quite many app's that come's with Windows "like IE" that want to use much of memory. And sure, what do about it when they already there. When it come's to if it helps or if it not helps. There is so much of rumor's out there. Have to tell that I have been testing it and I gave up after some hour's just because it need's lot of time to go through and compare the detail's in these log's. For the moment I'm using FreshRam instead which make the job by itself. Ok, I do not have the oportunity any longer in take my own decision which process that should be included or not. So sure, there was one point for CleanMem :)

PhilippeV
PhilippeV

Yes this considerably help with leaky programs like Flash, that allocate memory and initialize it, then leves the memory completely unused for long : these initialized pages take up considerable memory that will finally have to be swapped out by the Kernel, even if the application no longer access to these pages for ever or before extremely long. Some programs that allocate lots of memory to never use it gain are: Internet Explorer (a true ressoruce hog), application servers and SQL servers (with lots of applications and functionalities preloaded in their own cache and initialized, but never used, except in extremely rare cases, or never within the effective context of their deployement by users). Many applications don't know how to feed their caches intelligently, they cache too much thing, instead of using on-demand strategies, and correctly marking cache entries that can be safely discarded automatically and reconstructed later. The concept for making really smart use of caches (without having the kernel to manage this instead of aplications themselves) exists : look on Google for "WeakReference" (this is described for Java, which uses this concept extensively since Java 1.2, but similar concepts also exist now in .Net and in C/C++ libraries, because it is a generic design pattern). In other words: applications (notably all those that run as services or as resident programs) should simply avoid using any cache, thinking that it could provide some boost, notably caches for files that can be read on demand (the Windows Kernel better knows how to manage the filesystem cache and can share it between processes, something that applications can't do safely); instead they should ALWAYS use normal file I/O, as much as possible. As well, all resident programs should stop starting as resident : the standard Task Scheduler in Windows (or the "cron" table in Unix/Linux) is a safer and much faster way to instantiate and load them on demand.

Editor's Picks