Sie sind auf Seite 1von 5

CleanMem By PcWinTech.

com
Works on Windows 2000, XP, 2003, Vista, 2008, 7 - 32bit & 64bit
v1.5.0
I have added a new logging feature. By default this is turned off.
You can now have CleanMem log the memory usage of a process before CleanMem clea
ns it and after to see how a process is doing.
Check the cleanmem_log_settings.txt for more details.
v1.4.2
small bug fix where the only list wasn't working.
v1.4.1
Added the option to disable the new clear file cache in the ignore list.
You can disable the clear file cache feature I added in v1.4.0
Simply add file cache to the ignore list
example:
file cache
v1.4.0 Cleanmem now also clears the file cache of the system. The same way Cache
Set does ( http://technet.microsoft.com/en-us/sysinternals/bb897561.aspx )
I made this update after I noticed some things on my system. Every time I played
a heavy game or did a full drive backup my system would be a total snail afterw
ards.
I checked the memory usage, cpu and everything, nothing was being used up. But e
very time I even so much as tried to open a window it would crawl and I would se
e my hard drive light fully light up for a good 5+ sec.
So I new the problem had to be with the hard drive in some way. After doing a to
n of research I came across cacheSet. When I used it I had seen my cache was ove
r a few hundred MB's!
As soon as I cleared it the system came back and the sluggish feel was gone. Aft
er researching why this happens it turns out when the cache becomes to full or l
arge the hard drive is used MUCH more than normal, thus why everything was slowi
ng down and my hard drive was working over time.
The file cache is stored into memory, so when it doesn't clear itself that's als
o wasted memory. so when it is cleared that memory comes back to the system as w
ell.
So with this update no more sluggish system after heavy file transfers and gamin
g :-)
v1.3.0 Added a only list to give the user more control, if a person wishes to ha
ve Cleanmem only clean certain processes all they have to do is add them to the
list. If the list is blank Cleanmem will clean all processes, of course skipping
ones in the ignore list.
v1.2.1 Update Notes: I have updated the program setup to make the scheduled task
s better. On some machines they weren't running and required the user to simply
reset the settings for it to work. Hopefully this is now taken care of.
V1.2 Update Notes: Per user request I have added an ignore list that users can e
dit. This ignore list will tell cleanmem to skip any process that is listed in t
he list. The user who requested this wishes to run cleanmem on all their servers
but they have a process they don't like touched, by anything. So to make them f
eel better and at ease I have added this option in. - ShaneV1.1 Update Notes: I
removed the program from running as a service which will stop the event viewer e
rrors and also I redid the code making it more efficient and about half the size
.
--------------------------------------------------------------------------------
-------------------------------------------
PLEASE READ: Detailed information on the new 1.4.0 update
I have learned from the past when it comes to Cleanmem, so I'm going to make sur
e I have all the information needed for anyone to understand what this new featu
re is and does.
First, the reason why I added the clean file cache to Cleanmem.
On both my Windows XP and Vista computer every time I did a full system backup,
or did some heavy gaming my systems turned into snails. I'm sure a lot of you ou
t there have been through this. Even opening a minimized window was horribly slo
w let alone opening up new programs. even if you left the system going for a bit
it wouldn't fully recover and the only way to get the system back was to reboot
. This drove me nuts!
So I started looking into it, after my system would get this way I would check m
y memory (I have 4gb) cpu (quad core) and page file. NONE of them where hardly b
eing used. I was scratching my head. Where is the slow down coming from? So when
I tried to simply open my minimized Firefox it was taking forever to redraw on
the screen. I look down and see my hard drive light fully lit up! my hard drive
was working like mad. Aha! that's where my bottle neck is coming from. but, if t
he page file is barley being used why is my drive working so hard now? So now I
knew where to look.
During my research I came across this, CacheSet http://technet.microsoft.com/en-
us/sysinternals/bb897561.aspx
So I read the page thoroughly, download the program and ran it, as it was runni
ng my cache was at about 250mb's. (this was when my system was a slug after a fu
ll system backup)
I clicked the clear button, cache went down to 4mb and climbed and stayed at aro
und 25mb. Big difference. So time to see if it made a difference in the system.
And WOW my system was responding like normal again. I could open things like I h
ad just rebooted and the hard drive was no longer thrashing around doing simple
tasks.
So I wanted to add this to Cleanmem. But I knew good and well I had better be pr
epared to explain things :-)
I came across 2 other pages during my research into it.
http://smallvoid.com/article/winnt-system-cache.html
and
http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx
So now when Cleanmem runs, both the processes and the file cache and cleaned. Re
covering even more memory and performance. Again now, you wont see tons of perfo
rmance on a normally running system, but it does keep things in shape. Just like
Cleanmem always has.
Take care!
Shane
--------------------------------------------------------------------------------
-------------------------------------------
--------------------------------------------------------------------------------
-------------------------------------------
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 mu
st not work! Yet they never even try it. Then when I come across pages like on w
ww.raymond.cc who actually took the time to try it and test it makes me feel lik
e my work is appreciated by my fellow geeks & techs as he took the time to try i
t, he didn't judge before hand. Yet reading comments on his site you will find p
eople 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 thi
s 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 hav
e no room to talk. Its amazing how a free program I originally made for my custo
mers has been such a headache and a pleasure at the same time. You've got to lov
e 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 o
f 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 lis
t and skips those processes. Then Windows cleans the process, and once all the p
rocesses 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 h
ard 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 do
esn't touch memory in use. Here is an example from a visual basic programming st
and 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 lon
ger 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 themse
lves. Well the API is like a little house cleaning. It removes all safe unused m
emory. When the process runs the function again the memory is then taken again w
ithout any difference in performance to the program because it would do it anywa
ys, 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 o
f 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 u
sed and windows didn't touch it, only the memory left over was removed, which is
n'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 t
he 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 deal
ing with memory. But if you have a butt load of memory like I do you wont see am
azing 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 syst
em running tight and clean. Just because my system has a lot of memory doesn't m
ean 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, th
at'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 yo
u 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 i
ts empty.exe in the Windows 2003 Resource kit. This is also the same api that al
l .Net programs use by default when you minimize them and their memory lowers. S
o now instead of being just for .Net, Cleanmem lets you use it on all your progr
ams.
I hope this answers all questions and helps people understand once and for all a
bout Cleanmem.
Take care!
Shane
--------------------------------------------------------------------------------
-------------------------------------------
--------------------------------------------------------------------------------
-------------------------------------------
Personal note (09-26-2008): The debate on whether memory cleaners are fake, make
the system worse, and anything else you can think of still rages on. But its ge
tting really old that people keep shooting down Cleanmem and they haven't even t
ried it! The program is free, if you want to know if it works, then just try it!
The program pushes nothing to your page file and doesn't slow the system down a
t all. Other memory cleaners use a trick of using up all the memory in the syste
m forcing windows to release some of the memory from the processes and move it t
o the page file. My program doesn't do that, it uses a windows API.
I actually read this statement from a forum where people where going off about t
hings they have no clue about.
Quote: "(( CleanMem uses EmptyWorkingSet(), which is the same as the SetProcessW
orkingSetSize false-trick.
Basically useless; all processes will have their working sets trimmed, which ver
y likely means flushing stuff to your pagefile. Including the apps you are curre
ntly using, which will then have to re-read their stuff back from the pagefile.
))"
But the truth is,
http://msdn.microsoft.com/en-us/library/ms682606(VS.85).aspx
EmptyWorkingSet Function
Removes as many pages as possible from the working set of the specified process.
http://msdn.microsoft.com/en-us/library/ms686234(VS.85).aspx
SetProcessWorkingSetSize Function
Sets the minimum and maximum working set sizes for the specified process.
SetProcessWorkingSetSize does force memory to the page file because it limits ho
w much memory the process can have.
EmptyWorkingSet is a cleanup api from Microsoft that doesn t limit anything it sim
ply removed the unused.
This is the same API call Microsoft uses in its memory cleanup program in its re
source kit. So if you have any doubts then just try the program out and make you
r judgment from actually using the program and not by a stereo type set by crap
programs and the people burned by them.
--------------------------------------------------------------------------------
-------------------------------------------
Take care!
-Shane

Das könnte Ihnen auch gefallen