Daddy Bob

DADDY BOB'S COMPUTER Q & A

 

July 22, 2007

Q. My computer is usually on 24 hours a day, but occasionally I have to reboot to recover lost memory. Why is this necessary?

A. The memory referred to here is the RAM memory and it is not actually lost, it just becomes unusable due to something referred to as a memory leak. This is usually caused when an application closes and fails to release all the memory that was allocated to it when it was originally opened.

Like so many things in computer terms, memory leak is really a misnomer since memory is not physically lost or leaked from the computer. When a program opens, memory is allocated to it from the memory pool usually by something called a memory manager. When the application closes it should release all this memory back to the pool, but many times it doesn't, due to many reasons like programming bugs.

Memory leaks are one of the most difficult software bugs to locate and can be a quality nightmare. Leaks cause programs to crash, hang up and slow down. Software writers waste countless man-hours searching for the source of the leaks and rarely find them all. The more complicated and involved programs become, the more difficult it is to find them all.

When computers only ran one application at a time, memory allocation wasn't a big concern. When an application like a word processor started, it used whatever memory it needed to load in, and then as it needed memory to function, it just used whatever was available. Since it was the only thing running, it had access to all the memory in the computer.

However, when multi-tasking came along and it became possible and desirable to run several applications simultaneously, memory management became a necessary. No one program could just use whatever memory it wanted and memory had to be allocated to each application. The more applications open, the more memory that is needed to accommodate them all.

Even if all applications were written to properly release all the memory allocated to it, memory leaks would still be a problem. There are many, many different programs, written by different companies and writers so it impossible for them all to be 100% compatible with each other.

Suppose you had your email open, and started a word processor, then a graphics program. In order for any application to work, part of it if not all of it has to be loaded into memory, so each requires some memory for that. Then it will need memory for caches, buffers, settings, preferences and other working space.

To accommodate all this, memory is allocated to each application and this memory is dedicated only to the application it is allocated to. Now, suppose that one of these applications experiences a problem and closes in any way other than the way it was designed to do. There is a good chance that memory allocated to it will not be properly released. It will become unusable since the application it belongs to is not functioning and can no longer control it. It is still there, but just not usable.

After a computer has been used for a while, this problem becomes compounded. How soon depends on the number of applications used and the amount of memory installed. Soon or later the amount of available memory is reduced to the point where it greatly affects performance.

This memory is volatile, meaning it requires power to maintain the stored information, so it will loose anything it contains if its power is interrupted. Rebooting will interrupt the power momentarily and should return it to a usable state.

Click HERE to view or download as a Microsoft Word document

Disclaimer:

The materials in this site are provided "as is" and without warranties of any kind, either express or implied. To the fullest extent permissible pursuant to applicable law, I disclaim all warranties, express or implied, including, but not limited to, implied warranties of merchantability and fitness for a particular purpose. I do not warrant that the functions contained in the materials on this site will be uninterrupted or error-free, that defects will be corrected, or that any site or the servers that make such materials available are free of viruses, spyware, adware, or other harmful components, although all efforts have been made to assure that they are. I do not warrant or make any representations regarding the use or the results of the use of the materials on this site in terms of their correctness, accuracy, reliability, or otherwise. You assume the entire cost of all necessary servicing, repair, or correction. Applicable law may not allow the exclusion of implied warranties, so the above exclusion may not apply to you.