Jump to content
CCleaner Community Forums
Willy2

Cleanmem memory manager

Recommended Posts

This is a response to the discussion in posts #457 through #461 of the thread "Freeware !"

http://forum.pirifor...showtopic=17921

I thought it was better to discuss Cleanmem in a separate thread.

 

So, cleanmem is a memory manager that uses Task scheduler to start every 30 minutes (the default setting). But the user can change that value by simply going to Task Scheduler and change that setting to whatever he/she wants it to be.

 

After it has started and has performed it tasks the program closes and doesn't start again until it's (re-)started again by Task Scheduler. Just take a look at Task Scheduler and you'll see Cleanmem has added a task to the Task list.

 

To be able to see what Cleanmem does the user can tell the program to record its actions in a log, a text file. That log reveals which processes (as in displayed in Task Manager) are curtailed in their memory usage by Cleanmem and by how much. And the default setting is that Cleanmem reduces/collapses the size of the System File Cache as well.

 

I DO see a significant difference in performance ! Previously, it could take Real Player a significant amount of time to start playing a *.mp3 file but after installing Cleanmem that time has been reduced significantly by, say 50 to 90%.

 

Cleanmem can be downloaded here:

http://www.pcwintech.com/cleanmem

Here the user can find a lot of additional program info.

 

And the most important thing: it's freeware !

Share this post


Link to post
Share on other sites

Myself and a few others on here have been using that little utility for some time, and I would recommend it without hesitation.

 

Absolutely no harm in posting about it again as we have a lot of new members who may not have heard about it.

Share this post


Link to post
Share on other sites

I still didn't figure out how to use the portable version AND generate a log. It justs sits there for seconds and closes on my system.

 

PS : Isn't Real Player one of those used-to-be-useful-but-now-really-bad software ?

Share this post


Link to post
Share on other sites

Some Cleanmem (CM) suggestions:

 

1. Create a shortcut to CM and place it in the Windows ""Start up"" folder, then CM already has run before a user starts using his computer. I have placed an additional shortcut on my desktop, so, I can perform an extra ""clean up"" if I want to.

2. The user also can tell CM in which folder the logfile should be stored. These two lines in the ""log_settings"" file control the logging.

 

-- logging_enabled=true

-- log_location=C:\Program files\Cleanmem\cleanmem_log.txt

 

The first line (.....=true) tells CM that it should start to log its activities.

The second line determines where the log is stored and under which name. So, you could use a path that points to a USB thumb drive. But is that path to the USB thumb drive always the same path ?

The best way is to place the log in the root folder (C:\) and add that logfile to the ""Include"" section of CCleaner !!!

3. Add the line ""file cache"" to the ""ignore"" list and the System File Cache won't be reduced/collapsed in size.

 

About Real Player:

Two websites I regularly visit require me to have a Real Player plug in, in order to be able to play audio clips. That's why it became my standard player for audioclips.

Share this post


Link to post
Share on other sites

This is a response to the discussion in posts #457 through #461 of the thread "Freeware !"

http://forum.pirifor...showtopic=17921

I thought it was better to discuss Cleanmem in a separate thread.

 

So, cleanmem is a memory manager that uses Task scheduler to start every 30 minutes (the default setting). But the user can change that value by simply going to Task Scheduler and change that setting to whatever he/she wants it to be.

 

After it has started and has performed it tasks the program closes and doesn't start again until it's (re-)started again by Task Scheduler. Just take a look at Task Scheduler and you'll see Cleanmem has added a task to the Task list.

 

To be able to see what Cleanmem does the user can tell the program to record its actions in a log, a text file. That log reveals which processes (as in displayed in Task Manager) are curtailed in their memory usage by Cleanmem and by how much. And the default setting is that Cleanmem reduces/collapses the size of the System File Cache as well.

 

I DO see a significant difference in performance ! Previously, it could take Real Player a significant amount of time to start playing a *.mp3 file but after installing Cleanmem that time has been reduced significantly by, say 50 to 90%.

 

Cleanmem can be downloaded here:

http://www.pcwintech.com/cleanmem

Here the user can find a lot of additional program info.

 

And the most important thing: it's freeware !

I've been using it since the day Shane first offered it. I also have it scheduled to run four minutes after startup. Since I have very conservative machines: six year old Pent 4 XP with 1G RAM and an inexpensive Acer laptop (not using it now but pretty base AMD dual core processor) with Vista and 2G of RAM, I also like to view my memory usage with MemInfo. Sits in the notification area. It is rare if memory use ever exceeds 50% in either one.

Share this post


Link to post
Share on other sites

Could someone please post the content of the "Apply_log_settings.bat" file ? It isn't in the portable version, and it seems it's the only way to have Cleanmem understand the settings. :)

Share this post


Link to post
Share on other sites

Here's the content for a 32 bits OS (name: Apply_log_settings_32bit_OS.bat)

 

ECHO Copying Files...

echo.

del %systemroot%\system32\cleanmem_log_settings.txt

copy cleanmem_log_settings.txt %systemroot%\system32\ /y

@echo off

exit

 

And here's the content for a 64 bits OS: (name: Apply_log_settings_64bit_OS.bat)

 

ECHO Copying Files...

echo.

del %systemroot%\syswow64\cleanmem_log_settings.txt

copy cleanmem_log_settings.txt %systemroot%\syswow64\ /y

@echo off

exit

 

If one or more files is missing then post a message on the forum over there.

http://forums.pcwintech.com/index.php

Share this post


Link to post
Share on other sites

Thank you :)

 

CleanMem's behavior is quite funny...the log correctly states that the memory went down an unbelievable level ; however, the programs begin eating memory a lot until they reach the old level within seconds.

It seems to do exactly what I thought...place everything in the page file. Useful for software not used often, though.

Share this post


Link to post
Share on other sites

No, it doesn't move data to the swapfile. A lot of memory is reclaimed by Cleanmem (CM), so there's much less need for Windows to move data to the swapfile. When you allow CM to collapse the System File Cache (SFC) as well, then there's even less need for Windows to move data to the swapfile. And the SFC can be huge, up to 100 MB, and that's A LOT OF memory for my laptop (Windows XP) with a mere 512 MB of RAM.

 

Yes. I agree, active programs reclaim bit by bit more memory but they never go back (at once) to the old (huge) memory usage. And that's why CM must be reapplied every 15 or 30 minutes.

 

After I start my laptop (Windows XP) the SFC regularly occupies some 80 MB of memory. And that's why I let CM automatically run directly after a start up. There's a neat little program available that allows the user to manipulate the SFC and show the peak size of the SFC (even in XP) : Cacheset

http://technet.micro...s/bb897561.aspx

Share this post


Link to post
Share on other sites

Well, on my Win7 x64, they go back to the original level within seconds. :unsure:

Share this post


Link to post
Share on other sites

All the files included in the ""portable"" version must be copied/installed/placed in the system folder. Either in %systemroot%\system32 (32 bit OS) or in %systemroot%\syswow64 (64 bit OS) (???).

 

Are all the files in these folders loaded into the memory upon startup ? That would explain why e.g %systemroot% folder is mentioned in the file Layout.ini in the C:\windows\prefetch folder. And Windows uses Layout.ini to optimize the startup process by grouping those files in that folder on the harddisk.

Share this post


Link to post
Share on other sites

This is a response to the discussion in posts #457 through #461 of the thread "Freeware !"

http://forum.pirifor...showtopic=17921

I thought it was better to discuss Cleanmem in a separate thread.

 

So, cleanmem is a memory manager that uses Task scheduler to start every 30 minutes (the default setting). But the user can change that value by simply going to Task Scheduler and change that setting to whatever he/she wants it to be.

 

After it has started and has performed it tasks the program closes and doesn't start again until it's (re-)started again by Task Scheduler. Just take a look at Task Scheduler and you'll see Cleanmem has added a task to the Task list.

 

To be able to see what Cleanmem does the user can tell the program to record its actions in a log, a text file. That log reveals which processes (as in displayed in Task Manager) are curtailed in their memory usage by Cleanmem and by how much. And the default setting is that Cleanmem reduces/collapses the size of the System File Cache as well.

 

I DO see a significant difference in performance ! Previously, it could take Real Player a significant amount of time to start playing a *.mp3 file but after installing Cleanmem that time has been reduced significantly by, say 50 to 90%.

 

Cleanmem can be downloaded here:

http://www.pcwintech.com/cleanmem

Here the user can find a lot of additional program info.

 

And the most important thing: it's freeware !

Hi 'Willy2', I can see a substantial system performance improvement already .Thank you.

Share this post


Link to post
Share on other sites

No, it doesn't move data to the swapfile. A lot of memory is reclaimed by Cleanmem (CM), so there's much less need for Windows to move data to the swapfile. When you allow CM to collapse the System File Cache (SFC) as well, then there's even less need for Windows to move data to the swapfile. And the SFC can be huge, up to 100 MB, and that's A LOT OF memory for my laptop (Windows XP) with a mere 512 MB of RAM.

Can you explain, nontechnically, how Cleanmem determines which data to permanently remove?

 

The Glary Utilities Memory Optimizer function swaps old data to the paging file, which appears safer because no memory is deleted.

Share this post


Link to post
Share on other sites

I don't usually post long quotes from linked-to sites, but some folk don't bother to follow links, (present company excepted of course), so I'll post this explanation from the author. (Already mentioned above)

 

PLEASE READ: How Cleanmem Works

 

Ok for once and for all I am going to explain in detail how Cleanmem works, why it works and how it can & can not make a difference in your system.

 

Every now and then as I go across the net I find forums and pages talking about Cleanmem, and to be honest I am truly surprised to see the people throwing fits about the program being a memory cleaner and how if it is a memory cleaner it must not work! Yet they never even try it. Then when I come across pages like on www.raymond.cc who actually took the time to try it and test it makes me feel like my work is appreciated by my fellow geeks & techs as he took the time to try it, he didn't judge before hand. Yet reading comments on his site you will find people shocked it works and others saying it cant work and they didn't try it.

 

I also get emails of people asking me how it works, and so I decided to make this section to explain how Cleanmem works. So now any questions should be answered and all the people out there who don't even bother testing the program will have no room to talk. Its amazing how a free program I originally made for my customers has been such a headache and a pleasure at the same time. You've got to love the internet.

 

So now lets start with how Cleanmem works. Cleanmem is very small as it doesn't need to do much. First off Cleanmem doesn't clean the memory from the processes itself! It asks Windows to do that. When the program starts up it grabs a list of running processes. It then grabs the ID of each process and calls the Windows API EmptyWorkingSet for each processes, Cleanmem of course checks the ignore list and skips those processes. Then Windows cleans the process, and once all the processes have been cleaned Cleanmem closes itself.

 

Well that's the part that seems to freak some people out, if the memory is being cleaned then the process itself will suffer! the memory will be pushed to the hard drive! the world will end! And guess what they are wrong. So let me explain why. The API call only removes memory no longer being used by the process. It doesn't touch memory in use. Here is an example from a visual basic programming stand point.

 

Dim I as long

 

I = 20000

 

Done. Now 'I' has been set as a long number, it has now taken a spot in memory. It then loads the 20000 into memory. At the end of the call the memory is no longer used but still being taken up by the program because I didn't clean it up! A lot of programs do this, they take memory but don't always cleanup after themselves. Well the API is like a little house cleaning. It removes all safe unused memory. When the process runs the function again the memory is then taken again without any difference in performance to the program because it would do it anyways, it wont reuse the old memory, this is why you see program climb and climb in memory usage as you use them. So why let all the unused memory just sit there?

 

Here is an example, I loaded of my Age Of Conan game, it was using about 600mb of memory, when I run my Cleanmem the memory only lowers to about 500mb, and the game doesn't miss a hit, why? because that 500mb of memory was currently being used and windows didn't touch it, only the memory left over was removed, which isn't going to touch the games performance since the memory wasn't in use. This is also why the page file doesn't grow, cause no memory is being moved away from the process.

 

Will you see performance increase? Yes if a lot of your memory is being eaten up, plus keeping the processes cleaner adds a small performance increase when dealing with memory. But if you have a butt load of memory like I do you wont see amazing increases in performance, but if your running low on memory it makes a big difference.

 

If you have a lot of memory why use Cleanmem? Well I use it cause I like my system running tight and clean. Just because my system has a lot of memory doesn't mean I want things sucking it all up if it isn't even using it. That's why I made Cleanmem sort of a set it and forget it. I never need to worry about a program having memory leaks or not cleaning up after itself.

 

So what I did with Cleanmem was take a built in Windows API and made it easy and automatic to keep no longer used memory free. The program is free, the setup is easy and life is good. So if for some reason you don't want to use Cleanmem, that's fine. I'm not trying to push a free program on people, I could care less if someone doesn't want to use it. But for those of you that do use it I'm glad you find it useful and I'm here if you have any questions or needs.

 

A quick note on the API call itself. This is the same API used by Microsoft in its empty.exe in the Windows 2003 Resource kit. This is also the same api that all .Net programs use by default when you minimize them and their memory lowers. So now instead of being just for .Net, Cleanmem lets you use it on all your programs.

 

I hope this answers all questions and helps people understand once and for all about Cleanmem.

 

Take care!

Shane

---------------------------------------------------------------------------------------------------------------------

 

And as the author says, it's freeware, and if you don't believe it works, or want to use it, then don't.

 

I've used this, and monitored it, for a long time now, and for me, it works.

 

http://www.pcwintech.com/cleanmem

Share this post


Link to post
Share on other sites

Thank you, Dennis for the quote. As you know I am an habitual linker and I certainly would have read yours.

 

I am satisfied with the explanation.

Share this post


Link to post
Share on other sites

You're very welcome, and I did exclude present company from the links comment. That was for the benefit of all our non logged-in readers.

 

Both of them in fact. :lol:

Share this post


Link to post
Share on other sites

Awesome I just added this to my tool box and added my symantec files which screamed "tamper tamper" to the ingnore list I was looking for something like this on friday when my memory (3GB+2GB Readyboost) was showing 87% usage.

 

 

 

To note, I see no reason to COPY the portable version anywhere (as described above) it ran fine from my flashdrive now issue. Re: logging, it works fine but you have to place the processes you wish to log in it or no log is created. Sadly envirolmental variables do not seem to work in the logsettings, this would make it truly portable and the settings.bat does not seem to be needed (for the portable)

Share this post


Link to post
Share on other sites

Just need to confirm my hazy understanding.

 

In essence Cleanmem unloads used memory a program "forgot" to completely unload after termination. Did I get this correctly?

Share this post


Link to post
Share on other sites

First of all, closing a program/process always results in freeing up memory that was in use by that program.

 

Programs, while running (e.g in the background), claim, bit by bit, more and more memory (two notorious examples are IE 8 and Windows Explorer) and often ""forget"" to release that claimed memory when not or partially in use. So, when a new additional program is started and it claims memory as well, then Windows could decide to copy data from the memory to the swapfile, in order to free up memory for that new program. And that slows down Windows.

 

Cleanmem forces all or a user defined list of programs/processes, as displayed by Taskmanager, to (significantly) reduce the claimed memory, even when that program is still running (e.g. in the background). That prevents Windows to perform the timeconsuming copying of memory info to the swapfile.

Share this post


Link to post
Share on other sites

Recently I installed Cleanmem (CM) version 1.65. Versions 1.6 have an additional gimmick: a small monitor that shows how much memory is claimed/is used by the different applications and Windows. This monitor clearly indicated that CM reduced/can reduce the amount of used/claimed memory significantly. This monitor makes the program - IMO - (much) better.

Share this post


Link to post
Share on other sites

Recently I installed Cleanmem (CM) version 1.65. Versions 1.6 have an additional gimmick: a small monitor that shows how much memory is claimed/is used by the different applications and Windows. This monitor clearly indicated that CM reduced/can reduce the amount of used/claimed memory significantly. This monitor makes the program - IMO - (much) better.

Isn`t the small monitor you are relating to, the clenmem log? If yes, are you saying that in version 1.65 this function is absent ?

Share this post


Link to post
Share on other sites

No the monitor sits in the corner of the screen.post-21882-0-46973900-1294096115_thumb.jpg

 

I'd been using clean mem as a portable but with the addition of this monitor and auto clean (default at start-up then every 30 min) I went ahead and installed it.

Share this post


Link to post
Share on other sites

No the monitor sits in the corner of the screen.post-21882-0-46973900-1294096115_thumb.jpg

 

Is the monitor automatically included with Cleanmem 1.65 or is it a seperate add-on?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×