I bought a memory enhancement program in the mid 90's to correct for what I thought was memory leakage. I noticed my computer running slower and slower, even after defragging my huge (60MB+) hard drive. That technology has improved over the years, but memory leakage issues still persist.
Memory leakage can cause serious problems
While most memory leakage is quite small and doesn't present any serious problem in and of itself, the accumulated effect of running programs for hours on end can compound problems, sometimes leading to disastrous results.
So what is memory leakage, exactly, and how can we resolve it?
My original understanding was that certain programs, when closed, did not release their allotted space in memory - thus reducing the amount of memory available to other problems. Memory leakage is so much more complex than that. A slight bug in one program might interact with some other program causing increased allocations of memory until some program crashes (not necessarily the program with the leak). As a consumer, how would you know where to begin to isolate the cause? I'm not a developer, as I suspect most of us aren't. Debugging code is best suited for the programmer geeks. I started my quest for answers with searches on Google, Bing, Yahoo and Wikipedia.
In computer science, a memory leak is a particular type of unintentional memory consumption by a computer program where the program fails to release memory when no longer needed.
From Google - over 3.4 million results
From Bing - over 8.1 million results
From Yahoo - over 10.6 million results
I don't really have time to search through 22 million results, so I'll highlight a few results here.
Some contributing causes of serious memory leaks
Leaks inside the operating system itselfMemory Managers
Leaks in system critical drivers
Leaks in embedded devices
Leaks in programming languages
Leaks where programs are able to request memory that hasn't been released, even when the program terminates
Most memory managers can recover memory that has become unreachable (if it's unreachable it retains no value), but they normally cannot free memory that remains reachable. And it's worth noting that there are levels of reach ability - with strong or weak references. Add to that, every system has a finite amount of memory anyway, so if a memory leak is not contained (possibly by a reboot), it will eventually cause problems.
A simple Google search for Memory Management Programs returned over 68 million results. Yipes! A word of caution - many of these programs are outdated and in fact, produce some overhead of their own.
One in particular caught my interest - SpeedUpMyPC by Uniblue. It lets you monitor and control all your PC resources with easy, one click instructions. System settings, internet usage, disk clutter, RAM and CPU are all automatically scanned, cleaned and optimized for peak performance.
If you have a recommended program, please share its strengths and weaknesses with us here.