Computer Hope

Microsoft => Microsoft Windows => Windows XP => Topic started by: shagger1 on September 16, 2012, 08:04:59 PM

Title: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on September 16, 2012, 08:04:59 PM
Howdy
I use Xp home and have 512megs of ram-my question is when I am online the
longer my computer is on the lower the available ram is, lets say I dont use any
other programs but my browser(avant) when I get online my free ram is about
330 megs and after 4 hours of surfing it gets to about 260megs of free ram,is this
just the way windows works? I have no virus or spyware.
Thanks
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: TechnoGeek on September 16, 2012, 09:51:36 PM
Programs and the operating system use RAM to store data for fast access while the computer is running. Web browsers, particularly newer versions, are notorious for generally using high amounts of RAM. What's more is that sometimes the RAM that is used is not properly freed when no longer in use (this is called a memory leak.) It is normal for free RAM to decrease when you have programs running, especially when running for a long time. If it bothers you, usually closing, waiting, and re-opening your web browser will free up some RAM for a while.

TL;DR: It's perfectly normal for free RAM to decrease while a program keeps running. Restarting the program or the operating system will free up most of this RAM, at least for a while.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on September 17, 2012, 12:07:17 AM
Thanks guys for the help
using avant I find if I minimize it I can see the ram increase-I wait then maximize it
and I have much more ram-I dont have a memory leak on yhis avant version.I find
that some days when I start my PC it varies.

I sometimes use a ram optimizer(I know most dont like those) but cleanmem
is the only one that really works and it is freeware,just google it if you are interested,
they have an awesome forum and the devolper is really cool.
Thanks again
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: jason2074 on September 17, 2012, 11:42:05 PM
High CPU usage would be more alarming than having a system ram usage. See also swap file. (http://www.computerhope.com/jargon/s/swapfile.htm)
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on September 18, 2012, 12:57:36 AM
Thanks Jason
I understand swapfile and my cpu useage is very low unless
I go to youtube-Yikes!

My computer does not slow down or get sluggish as the ram
drops.I am probably worried about nothing,when I start browsing
I have about 325 available ram and after a few hours that drops
to 290 or so of free ram-thats not too bad is it?

Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: jason2074 on September 18, 2012, 01:09:41 AM
It's not actually. But of course there is a big difference when your system is just reinstalled as this reading may lower. But the next solution after is add an additional RAM stick and you will be more satisfied. I got used to 512 Mb of RAM using XP years ago, but after using Win 7 on 4 Gig and above RAM, you will never want to run on XP with that low memory so I went to look for another stick just to compensate the speed you would get use to.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on September 18, 2012, 01:45:27 AM
Jason
what do you mean by It's not actually" - my pc never drops below that
and like I said it is fast as heck and not sluggish it is XP and it runs fine
just wondering why you think its not OK?I have had it drop to 20megs
using firefox and its still not sluggish!

Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: jason2074 on September 18, 2012, 01:58:35 AM
Quote
thats not too bad is it?
It's not actually. ;D
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on September 18, 2012, 02:10:31 AM
Thanks now I feel better! I sometimes use cleamem a memory optimizer
that actually works-my ram was about 300megs free last post and I turned
on cleanmem and right now I have 393 megs free-not too shabby,you should
check out the program,the developer uses it even havin a ton of ram
http://www.pcwintech.com/cleanmem
Thanks
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: patio on September 18, 2012, 06:24:29 AM
Creatively disguised Spam...

I was gonna see how long it played itself out.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on September 18, 2012, 04:06:32 PM
Patio
what do you mean -this is not spam,just letting people know of a free program
is that spam? is that what you mean?I dont understand-feel free to delete this
topic if I did something wrong.My questions were legitimate and if I did somethig
wrong I apoligize.

Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: patio on September 18, 2012, 04:21:42 PM
Duly noted.

The Topic will stay intact.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: TheShadow on October 02, 2012, 02:55:09 PM
Microsoft originally designed Windows to operate on computers that were built with WAY TOO LITTLE actuall RAM.  Many companies put way too little ram in their PC's to get them out the door at discount prices, knowing that the Pagefile would pick up the slack, at a significant hit on performance.

When a program can't fully load into the available ram, Windows will shuffle it off to the Pagefile on the hard drive.  That's called "Virtual Memory".  The real problem with that is that the hard drive is the slowest part of your computer.  It's thousands of times slower than the Ram itself.

So the overall solution to the problem is to give your OS enough ram in the first place.  For any version of XP, you should try to get up to 2 gig's of ram.  Then use of the hard drive and the Pagefile will go down and system performance will increase.  I try to do this for all my customers, with OLD PC's, Windows XP and limited amounts of RAM.

Memory optimizers just mask the problem, they don't FIX anything.  Those programs actually use up ram when they are running.
You're better off, to either add more ram to your computer, or minimize the TSR's and Services running in the background on your PC.

I do this stuff for a living and have for many years, so I know it's possible.

Good Luck,
Shadow  8)

Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: Salmon Trout on October 02, 2012, 03:45:38 PM
Microsoft originally designed Windows to operate on computers that were built with WAY TOO LITTLE actuall RAM.

They didn't. "Way too little" in 2011 was "a lot of RAM" in 2001. Microsoft designed each version of Windows to run with what seemed like the amount of RAM an affordable PC was likely to have at the time of release. There were minimum amounts, and recommended amounts.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on October 02, 2012, 06:25:28 PM
Thanks guys
cant afford ram now as I am saving up for a new pc, shadow- the above mentioned ram optimizer really does work so I am fine with it-it is the only one I use and the only one I trust .
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: blindhelpfultech on October 03, 2012, 06:48:48 PM
that's why they call them minimum requirements, that is the bare bones to what you need to get the system working in a way that it is usable. It is also a way to make computers cheaper as I am sure you have noticed over time if you want something with optimal requirements that does a little more than the basics with the amount of space, ram and such you pay a little bit more. Example I have a 32-bit computer that does not use ram to it's full usage due to the way 32-bit systems handle ram but it also costs less than a 64-bit system with 8GB of ram, but if you want to notice a change you sometimes have to spend a little more. I have a computer that I spent $500 on and for just $300 I can more than double the specs. I was a computer user who went from a Pentium 3 at @2.3Ghz with 4GB of ram to a computer with an Intell i3 @2.7ghz to a new system with 8GB ram, 64 bit system and to top it off an intell i7 @3.2ghz. I went from basic to a little better and I noticed the change and this for sure I will notice a big change. It took me ten years to buy  the second computer, but would I ever by a Pentium 3 even if they made them again, no I would not. You get use to the faster OS and don't want to downgrade, but you spend more cash. I have been working on my spelling Alen and Patio is this better? I am also considering getting dragon, but I will start a new topic, as highjacking someone else's thread is quite rude in the forms world and yes I am sorry to those admins I did not word things clearly and some of them came across pushy and or mean to the users of the form.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: patio on October 03, 2012, 07:11:13 PM
You're doing fine...much improved.

patio.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: BC_Programmer on October 03, 2012, 08:56:35 PM
The short answer is more or less this is how programs work.

The long answer is, as expected, a bit more detailed.

First there is the OS itself; of course the OS allocates memory for all applications; applications essentially ask for blocks of memory and the OS manages when those blocks are swapped into and out of RAM. The end result is that frequently accessed bits of data stored in memory are kept in Physical RAM and those that go unused get swapped to the pagefile. When you first start an application, such as a browser, it doesn't have many data structures in memory, and a lot of it's data could still be in it's program file. For example, if you don't access certain features of the program- such as history, bookmarks, etc. The executable code related to that might not load into memory at all. And when you do use it, it will be swapped from, disk (directly from the executable).

This results in more memory usage, overall, because after that happens, that data is often not discarded. Programs can mark certain parts of their data as discardable, but most compilers only do this for resources. The end result is that while code that is entirely unused stays on disk (and therefore doesn't use RAM) once that code is executed, it needs to be loaded and sticks around thereafter.

Basically, for most programs, as you use that programs various features it will use more memory each time.

That only addresses part of the issues of memory usage, since of course Programs do have data that they manipulate, allocate, deallocate, and work with. The memory usage over time from this can depend on the memory usage patterns of the program in question, which can often rely on the technology used to create it. For example, Programs written for the Java Virtual Machine or the .NET CLR use Garbage Collection, which means that the run-time keeps track of data and deallocates it when it determines it is no longer needed. The other method is deterministic, and requires the programmer to indicate when to free and clear resources that are used. The former method can cause large spikes in memory usage as objects and data are allocated before the Garbage collection process runs and cleans up; the latter can cause leaks if data is allocated but never deallocated.

By the way, RAM Optimizers don't actually optimize RAM usage, they force a program to compact it's memory by essentially forcing as much data to the pagefile as possible.

Ironically, RAM optimizers "optimize" memory by allocating craptons of memory themselves; what ends up happening is their active allocations balloon and the kernel is forced to page the memory of other processes out to the pagefile. Then the Optimizer deallocates it's ridiculous amount of memory and declares success.

But when you start using another application, that paged out data is simply paged back in , so it really doesn't do anything overall.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: blindhelpfultech on October 03, 2012, 09:12:54 PM
patio mam/sir,
It does make a diffrence when I proof read things and really make sure things come out right in regards to things that might be broken, can you please check your pm in regards to my fourm settings as it might be more of me than a problem. I like the qote of one of the admins about something, I might ask for consent to use it in my sig.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: TechnoGeek on October 03, 2012, 09:17:51 PM
(...)
But when you start using another application, that paged out data is simply paged back in , so it really doesn't do anything overall.

Nothing, other than unnecessary excess read/writes to the hard drive, which can (being disk I/O) slow things down considerably and can theoretically reduce the life cycle of an SSD drive.

I once tested this effect by using Sysinternals RAMMap. I forget the wording of the option -- flush working sets or something similar -- but it forces all pages to dump to disk. I noticed an immediate slowdown, and every program I returned to then had to wait for the memory to load from disk. These 'optimization' techniques certainly do free physical RAM, but at the cost of a lot of speed, exactly what many of them pretend to solve.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on October 04, 2012, 10:00:49 AM
TechnoGeek
the program I mentioned on the first page of this post does not slow down my pc one bit,that is why I use it-try it and you will see,yes I have used others that slow my system down but not cleanmem...
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: BC_Programmer on October 04, 2012, 03:35:46 PM
the program I mentioned on the first page of this post does not slow down my pc one bit,
I just downloaded it and disassembled it as well as running it. Nothing about it makes me think it works differently in any significant way from something like RAMpage. Aside from it's idea of "being installed" being that it has to be in the windows System folder.


Written in VB6.
Although I wasn't able to really find a whole lot of information, the main routine appears to be designed to do a crapton with Strings, then it uses GetObject("winmgmts:\\.\root\cimv2") and then proceeds to run a 'Select * from Win32_Process where ProcessID = "' query on that.

Then it doesn't appear to actually do anything within the loop, instead it just logs a bunch of information to a string which is subsequently destroyed.

It seems to use ntSetInformationProcess with the ProcessQuotaLimits flag. This means it changes one, some, or all of the Quota flags of a process, which are  PagedPoolLimit, NonPagedPoolLimit, MinimumWorkingSetSize, MaximumWorkingSetSize,PagefileLimit, TimeLimit. Translation: people who say it doesn't deal with the process working set are either stupid or lying.



Quote
yes I have used others that slow my system down but not cleanmem...
Cleanmem does. It works exactly the same as every other tool that does this. It doesn't use magic technology or some mystical different technique. It is exactly the same thing written by somebody (In VB6 no less) with special skills in weaving bull.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: patio on October 04, 2012, 03:48:26 PM
Quote
It is exactly the same thing written by somebody (In VB6 no less) with special skills in weaving bull.

                 ;D ;D       ;)
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: TechnoGeek on October 04, 2012, 04:33:15 PM
In VB6!? Just another good reason not to use it ::)
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on October 04, 2012, 07:56:15 PM
You are entitled to your opinion but works for me On XP.after an hour or so my ram drops to about 269megs available and when I kick in the program I am up to 420megs free with no adverse effects,I am not a programmer so I trust what you say but been using it for almost a year and my PC flys lke an eagle so.........I am happy as a clam!! I got tired of running low on ram and am to poor to buy more so my solution is fixed.<grin> In the past I have tried many other programs and this works. PS I dont think it is cool to disassemble a program when the licence says not to,you may take that as you wish.
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: patio on October 04, 2012, 08:33:11 PM
It's not illegal if your not doing it to reverse engineer a product for sale...

BC did nothing illegal...
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: shagger1 on October 04, 2012, 08:43:39 PM
I did not say he did anything illegal just said it was not cool....I should have never mentioned that program,geez!
Rod
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: smc1979 on October 04, 2012, 08:48:17 PM
Ah more people bashing my program :-)

Quote
In VB6!? Just another good reason not to use it ::)
And in case your wondering it is made in VB6 because I like the size of the run times 1.3 mb vs the insane size of .net, It is my programming of choice nothing more.

Quote
The short answer is more or less this is how programs work.

The long answer is, as expected, a bit more detailed.

First there is the OS itself; of course the OS allocates memory for all applications; applications essentially ask for blocks of memory and the OS manages when those blocks are swapped into and out of RAM. The end result is that frequently accessed bits of data stored in memory are kept in Physical RAM and those that go unused get swapped to the pagefile. When you first start an application, such as a browser, it doesn't have many data structures in memory, and a lot of it's data could still be in it's program file. For example, if you don't access certain features of the program- such as history, bookmarks, etc. The executable code related to that might not load into memory at all. And when you do use it, it will be swapped from, disk (directly from the executable).

This results in more memory usage, overall, because after that happens, that data is often not discarded. Programs can mark certain parts of their data as discardable, but most compilers only do this for resources. The end result is that while code that is entirely unused stays on disk (and therefore doesn't use RAM) once that code is executed, it needs to be loaded and sticks around thereafter.

Basically, for most programs, as you use that programs various features it will use more memory each time.

That only addresses part of the issues of memory usage, since of course Programs do have data that they manipulate, allocate, deallocate, and work with. The memory usage over time from this can depend on the memory usage patterns of the program in question, which can often rely on the technology used to create it. For example, Programs written for the Java Virtual Machine or the .NET CLR use Garbage Collection, which means that the run-time keeps track of data and deallocates it when it determines it is no longer needed. The other method is deterministic, and requires the programmer to indicate when to free and clear resources that are used. The former method can cause large spikes in memory usage as objects and data are allocated before the Garbage collection process runs and cleans up; the latter can cause leaks if data is allocated but never deallocated.

By the way, RAM Optimizers don't actually optimize RAM usage, they force a program to compact it's memory by essentially forcing as much data to the pagefile as possible.

Ironically, RAM optimizers "optimize" memory by allocating craptons of memory themselves; what ends up happening is their active allocations balloon and the kernel is forced to page the memory of other processes out to the pagefile. Then the Optimizer deallocates it's ridiculous amount of memory and declares success.

But when you start using another application, that paged out data is simply paged back in , so it really doesn't do anything overall.

Again someone going off about the page file  ;D

Has anyone read this yet?
http://www.pcwintech.com/about-cleanmem

I only responded because shagger1 is a good user of my forums, so I thought I would just chime in, I wont be getting into any fights over my program. You don't like it then don't use it.

If you haven't even tried it or put it under any test then please don't comment on it till you do, but once you put it under tests and having something to complain about then I am all ears.

Now back to my movie with my wife and kids. Night!

Shane
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: BC_Programmer on October 04, 2012, 10:31:29 PM
You are entitled to your opinion
I agree, we are all entitled to our own opinions. But like the opinion that Maggots spontaneously appeared in rotting meat was proven to not be cogent with reality so too is an opinion that this- or any other "memory conservation" tool works merely the result of placebo and confirmation bias.


Quote
after an hour or so my ram drops to about 269megs available and when I kick in the program I am up to 420megs free with no adverse effects
(http://www.edsquared.com/content/binary/Windows-Live-Writer/dbb6c39a79dc_68DE/WorksOnMyMachine_3.png)

Quote
I got tired of running low on ram
Running low on RAM means nothing. Running low on Free RAM also means nothing How much free memory you have only has a impact on performance if it causes a lot of swapping, which will only occur if you are frequently using data that isn't paged in physical memory. Since these programs work by essentially forcing every program to page out data out of physical memory with the goal of making the amount of free memory bigger (which affects performance negatively).


Quote
and am to poor to buy more so my solution is fixed.
I ran Windows XP with 96MB of memory for over 3 years, so while I currently have 8GB it's not like I've never dealt with Limited memory. The solution is not found in snake oil software but rather in diligent computing habits. For example, Firefox was out of the question, and for some software packages the later versions were as well; Many options had to be disabled (things like Luna  themes, for example) in the interest of saving as much memory as possible, not using more than one application at a time, etc.

Most important was that when using a machine that had limited RAM, I had to limit myself to software that took that into account. Firefox does not meet that requirement, nor would chrome or pretty much any common desktop application in use today. The problem is not that you or I had too little memory (since 96MB was considered gobs at one point) but that the software we typically use is designed to consume memory like a SUV guzzles gasoline- with little regard for the environment and with far more style than utility.

Quote
PS I dont think it is cool to disassemble a program when the licence says not to,you may take that as you wish.
There is no license attached to the program, therefore the only license attached to it is the implicit license of fair use and default literary copyright. Even if it was, Dissassembly is covered Under the Canadian Copyright Act 30.6.

Ah more people bashing my program :-)
I wasn't bashing it. I was saying that all memory "optimizer" perform an unnecessary task and are distributed people that either do this and are intentionally deluding people or don't and are spreading their own delusion around. Facts are what I, personally, work with, and unfortunately ethereal concepts and opinions do not sway that.

Quote
And in case your wondering it is made in VB6 because I like the size of the run times 1.3 mb vs the insane size of .net, It is my programming of choice nothing more.
It could probably have been created in VBScript, at least the core "cleaner" portion.

Quote
Again someone going off about the page file 
This hardly refutes anything I said. This is analogous to if somebody tried to say that Cookies didn't contain flour, and I said "Cookies contain flour" and the response was "yet again someone going off about the page file". (It also reminds me of the Reagan vs. Carter debate where the former said "There you go again" as a response to an otherwise articulate argument.)

Quote
Has anyone read this yet?
http://www.pcwintech.com/about-cleanmem
I just did.

Quote
CleanMem doesn't work magic on your system. The best thing you could do is get more memory for your system! The goal of CleanMem is to help keep windows from needing to rely heavily on the page file. Which is located on your hard drive.
And yet, what the program actually does flies directly in the face of this. You cannot simply cull a processes memory usage; the broadcast messages are deprecated (WM_COMPACTING, for example) and typically have no effect at all. Unless you are actually going through every process and somehow figuring out where programs are no longer using data (which is an intractable problem) and then deallocating those blocks of memory (which would require process injection). All I could gather was mostly from the WMI query strings acquirable from SysInternals "String" tool, (which is what leads me to the conclusion that much of the base functionality could be done with VBScript or JScript through WMI); though the Monitor thingamajig

Quote
I only responded because shagger1 is a good user of my forums, so I thought I would just chime in, I wont be getting into any fights over my program. You don't like it then don't use it.
This sort of reads like a care salesman who's best customer is being told that the rust on the bottom of the used care they are trying to sell does not actually make the car go faster, saying "if you don't like driving cars with rust on them, don't". That probably isn't the intent here,(I would certainly hope it isn't) but this isn't about personal preference; either these programs help performance, do nothing, or impede it. Any one program cannot do more than one of these things. This sort of goes into my next paragraph too.

Quote
If you haven't even tried it or put it under any test then please don't comment on it till you do, but once you put it under tests and having something to complain about then I am all ears.
I did, But I didn't want to image post at the time. More importantly they weren't really that methodical. I'll try to come up with some sort of test that attempts to be more or less impartial, and, most importantly, is reproducible, since it's otherwise useless. This will make a good blog post, since I could test other programs of the same cabre. I'll probably test this one first, since it has relevance particularly to this thread, but I'm curious how a program I used to use when I thought it actually mattered, RAMpage, fares as well.

I'm trying to think of what specifically needs to be covered here. First, and most obvious, is memory statistics, which can be captured with Process Explorer. In order to "heavy" up the machine, I imagine it might be ideal to run a few programs and do something in them that pulls in some of their latent pages from disk (eg code in their executable). As explained above this is what usually increases memory use over time. The method to do this will need to be well documented, any relevant macros provided, etcetera. Once the machine is "loaded" we will test the speed of things at that point; I guess that could be more macros, perhaps some sort of browser test and maybe running a benchmark using Fraps or something of that sort. Possibly even run some programs that find the anagrams in a dictionary since I'm currently in the process of blogging about that implementation in a bunch of languages and cross-over posts are never a bad thing.

After that, we run the optimizer program being tested. Then we grab the memory statistics immediately afterward, and do the same speed tests. Keep track of the results and then reveal.

Hopefully this doesn't turn into that ill-fated idea where I was going to test Registry cleaners but then sort of forgot about it for a year and a half.
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: smc1979 on October 04, 2012, 10:50:06 PM
You had fun typing that didnt you? lol

Ok lets cover a few things, then it ends here as I wont be dragged into another fight over this and another person who is dead set in their view. After this post I wont be posting again.

Quote
There is no license attached to the program, therefore the only license attached to it is the implicit license of fair use and default literary copyright. Even if it was, Dissassembly is covered Under the Canadian Copyright Act 30.6.

I dont care is it is covered. I simply dont care if someone takes apart my program. Enjoy, have fun. But do it a little better. You are seeing API's and and some WMI calls and getting it completely wrong on why they are there and what they are used for.

Quote
This hardly refutes anything I said. This is analogous to if somebody tried to say that Cookies didn't contain flour, and I said "Cookies contain flour" and the response was "yet again someone going off about the page file". (It also reminds me of the Reagan vs. Carter debate where the former said "There you go again" as a response to an otherwise articulate argument.)

You said you read the about page, sounds like you read it a little to fast. CleanMem doesn't fill the memory like the old crap clears did. It doesn't change any programs working set or change any program or inject anything in any way.

The program uses WMI for simple process info for the log file. Cleanmem simply calls Windows to cleanup any unused memory from a process. Windows does all the work, not cleanmem. Windows moves the memory into the system cache, which is STILL in memory, NOT the page file. A process will have back what it needs instantly. Any memory not called back will be left in the system cache for a short period before it is released.

I have no desire to try and change your mind, in fact I know that is impossible. I was notified of these posts simply for the fact of the bashing of my program without any proper tests and the bashing of the fact that I used VB6. Sorry if I am a *censored* good programmer in VB6 and it still works fine. Guess it isnt up to your standards.

So instead of trying to change your minds here I will just let it go.

After all, 2 million machines using it and people who tested it giving it great reviews I am sure I wont lose sleep over more people not trying it shooting it down.

CleanMem has been out for years now and I had to do this fight so many times. Each and every single time it was with people set in their ways, calling snake oil without even testing it.

For the last time CleanMem doesn't do anything to the process, it has Windows do it. Why do you think it works so well? Wait you don't know, you didn't give it a try.

Snake oil I say!!!!

Oh well. Cant win them all  ;)

Take care all of you. I'm out  ;D

Shane
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: BC_Programmer on October 05, 2012, 02:03:49 AM
You had fun typing that didnt you? lol
You are new here. My posts are typically rather long. Don't let it go to your head though.

Quote
Ok lets cover a few things, then it ends here as I wont be dragged into another fight over this and another person who is dead set in their view. After this post I wont be posting again.
Ok, you know, I really don't like when people do this. If you aren't going to get into an argument, which you already said in your previous post, why the *censored* are you doing exactly that right now?

Quote
You said you read the about page, sounds like you read it a little to fast. CleanMem doesn't fill the memory like the old crap clears did. It doesn't change any programs working set or change any program or inject anything in any way.
Don't be silly. By that same metric one could argue that no common desktop application actually opens files, it get's windows to do it. Of course your program isn't doing it, but it is doing it by proxy of having the instructions that make it happen. Of course no other tool does this itself, either; most of them just use a few of the Process-related API calls. the only reason I (or anybody) cannot see the actual functions in use in your program is because VB6 performs all DLL calls dynamically via DLLFunctionCall() in the runtime, but given the tests I just ran I'm pretty confident it doesn't actually do anything, at least with regard ot it's cleaning functionality- that set's it apart from the other common memory cleaners.

Quote
Cleanmem simply calls Windows to cleanup any unused memory from a process
The function I find that make those changes are things like SetProcessWorkingSetSize, SetProcessWorkingSetSizeEx, FlushProcessWriteBuffers, or ntSetInformationProcess. It might also simply use EmptyWorkingSet() (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682606%28v=vs.85%29.aspx), as well. (or  MmAdjustWorkingSetSize(), but the result is much the same).

I'm fairly confident, however, that it probably uses either EmptyWorkingSet(), SetProcessWorkingSetSize(), or SetProcessWorkingSetSizeEx(),which is sort of evident in the quick tests I did- the only value that consistently reduced by a rather large factor was the Working Set Size of each Process. The test found absolutely no discernable difference speed between before and after them (well that's not true, the game test ran 1 fps slower after running it but that's within a safe margin of error). Of course this was on a system with 8GB of RAM, I intend to repeat the tests with less memory and see if the impact is more positive.

Quote
Windows does all the work, not cleanmem. Windows moves the memory into the system cache, which is STILL in memory, NOT the page file. A process will have back what it needs instantly. Any memory not called back will be left in the system cache for a short period before it is released.

The observed behaviour I saw after running the program was a universal reduction in the Working Set of all Processes, in many cases by half. Those memory pages do not get deallocated, but simply removed from the process working set. But when that page is accessed again, either a hard fault occurs (and requires access to the pagefile) or a soft page fault occurs, because the data can be accessed without using the backing store. This occurs if the page is in the working set of some other process, the page is in transition, because it either has been removed from the working set of all processes that were using the page and has not yet been repurposed, (I believe the cumulative "transitory" pages might constitute what is often referred to as a System Cache on XP and earlier).

I'm still unclear how this would increase performance. Aside from there being a larger amount next to indications of the amount of free Physical memory (because transitory pages count as Free).

Quote
I was notified of these posts simply for the fact of the bashing of my program without any proper tests and the bashing of the fact that I used VB6.
I didn't bash it explicitly. All I said was "in VB6 no less" which another poster detrimented further. Visual Basic 6 was a fine programming language and environment in the mid 90's. The problem today (and one of the reasons I moved away from it) is that I found myself fighting language limitations more than I found myself using language capabilities to my advantage. (Implementing IEnumVariant, Multithreading and concurrency, iterators, supporting modern UI themes and 32-bit application and window icons, etc). If a smaller, simpler program doesn't run into those limitations, I don't see a problem. (And even when you do, enterprising developers have usually trodden that ground). VBAccelerator.com is still in my bookmark bar, even.

Somebody needs to also hurt whomever decided that the Version 6 common controls would not be actual Windows Common controls, thus preventing the use of functions from comctl32.dll for things like drag images.  >:(

Quote
Sorry if I am a *censored* good programmer in VB6 and it still works fine. Guess it isn't up to your standards.
Nonsense. I've written blog posts and programs in it myself. And your reasons for choosing it are perfectly reasonable. Especially for  something as basic (no pun intended) as this sort of program, since most of the work (and appeal) I would argue is best found in the monitor tool, which if we set aside the differences on the actual "cleaning" functionality and it's capabilities can be useful in and of themselves, which could very well be part of the reason you decided to make the enhanced version a nicer version of that part of the program. Additionally, as a monitor tool it benefits from the overall lightness of VB6 in comparison to say a .NET application, since they (like yours does) will often start with Windows or on a schedule, and as a background application it's always best to be as light as possible. That said, from a language capability point of view, Visual Basic 6 doesn't really have a lot going for it, particularly compared to more modern programming languages. With the possible exception of Java, which is about equivalent to VB6 in capability despite how loudly I'm sure Java programmers would protest.

Quote
After all, 2 million machines using it and people who tested it giving it great reviews I am sure I wont lose sleep over more people not trying it shooting it down.
Ad populum fallacy but I think you know that. My praise would lie entirely on the graphical portion of the program, such as the RAMpage like Notification Icon. I guess my real problem comes from the name, since a lot of these programs really do emphasize how they happen to call a few APIs for trimming working sets, but seem to put, marketing wise, their awesome Memory and statistics views on a back-burner. I Ran RAMpage for years after deciding it was actually far less useful in terms of it's attempts to free memory, simply so I could keep track of Physical Memory usage. Though how useful knowing that is, is probably also debatable...

Quote
CleanMem has been out for years now and I had to do this fight so many times. Each and every single time it was with people set in their ways, calling snake oil without even testing it.
I did test it. And it does what it is supposed to. The argument essentially comes down to: does having your process working sets trimmed really help? I don't think so. Maybe it does with machines that have very low Memory usage, and though my memory is fuzzy I do recall RAMpage having a slight positive effect on my system when I ran XP with 96M of memory, though it could be argued that was partly because I thought it was going to have that effect so much.  I also really don't see how, technically, it could be beneficial.

I found an interesting article of tangential relevance:

The working set of an application is trimmed when its top-level window is minimized (http://support.microsoft.com/kb/293215)
One wonders if Windows Key-M, based on that, actually has the exact same effect as many of the memory cleaner tools? (I don't think Win+D has the same effect)


Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: Allan on October 05, 2012, 05:43:29 AM
Welcome Back BCP ;D ;D
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: truenorth on October 05, 2012, 07:51:59 AM
So nice to see you back in your old form (i hesitated for a brief moment to say that lest it be the catalyst to further great bandwidth usage  ;) ) Welcome back BC,truenorth
Title: Re: Why does Ram Decrease the Longer I use My PC
Post by: TechnoGeek on October 05, 2012, 10:14:25 AM
In VB6!? Just another good reason not to use it ::)

I should probably clarify my reasoning for this post. As BC mentioned, it was a great tool a while ago. Heck, even I used it (although I never really *liked* it). Mostly because of it simplicity in creating GUI applications, though. What I most don't like about VB6 are a few shared DLL and compatibility issues that weren't as big a deal when it was previously popular. Now that there are newer versions of some of those DLLs in windows than what came with VB6, installing many of these programs gives warnings that you may downgrade a system file. That, i think, is a serious issue, but more with the runtime than anything else.

So I downloaded it and tried it. I can't say I like the idea of dropping files into system32/syswow64, and I can't find a good reason to do so. Running every 15 minutes by default, without user interaction (though it can be disabled), seems a little excessive.

When I ran it, it did more or less what I expected. Private Working Set decreased, but Commit Charge (afaik the measure of all allocated memory) stayed exactly the same. When I want to decrease my memory usage, I stop things from running at startup or find something that uses less memory. This is much more effective than any memory cleaner ever can be, because less memory is allocated in the first place to be 'cleaned.'

My verdict: While it may use a different basic procedure than other memory cleaners, or have different effects on performance, I still don't see a good reason to use it. Other people may have a different opinion, and I respect that. When I get out of memory errors (only from visual studio, and even then occasionally), I find out why I ran out of memory and what I can do to fix it, instead of trying to sweep it under the rug with a memory cleaner.

To the developer's credit, the uninstall went perfectly fine and Revo did not find any leftovers other than the main form positions stored in the registry.