memory leak


Also found in: Dictionary, Thesaurus, Wikipedia.

memory leak

(programming)
A leak in a program's dynamic store allocation logic that causes it to fail to reclaim memory in the heap after it has finished using it, eventually causing the program to fail due to lack of memory.

These problems were severe on older machines with small, fixed-size address spaces, and special "leak detection" tools were written to diagnose them.

The introduction of virtual memory made memory leaks a less serious problem, although if you run out of virtual memory, it means you've got a *real* leak!

See aliasing bug.

memory leak

A condition caused by a program that does not free up the extra memory it allocates. In programming languages, such as C/C++, the programmer can dynamically allocate additional memory to hold data and variables that are required for the moment, but not used throughout the program. When those memory areas are no longer needed, the programmer must remember to deallocate them.

When memory is allocated, but not deallocated, a memory leak occurs (the memory has leaked out of the computer). If too many memory leaks occur, they can usurp all of memory and bring everything to a halt or slow the processing considerably. In other environments, such as Java, the operating system allocates and deallocates memory automatically. Specifically allocating and deallocating memory, while error prone (in case one forgets to deallocate), allows the programmer more control over the computer's resources. See garbage collection.
References in periodicals archive ?
The tool brings down the time it takes to detect and solve memory leaks from days and weeks to less than one hour.
You will have to use commercially available Java/native memory leak finding tools instead.
But with the new memory analysis tool from QNX Software Systems, developers can immediately detect subtle memory leaks and errors, even when debugging the most complex embedded design.
AutoPilot Heap Detective software detects memory leaks in Java applications
Identify objects and methods that consume the most time * Identify memory-intensive classes * Gauge program concurrency * Locate memory leaks * Browse every execution of a method as a function of time * Access a wider view of execution behavior as a function of time * Identify active threads * Identify when threads are active * Identify frequently called methods * Identify different phases of program execution * Study different method invocations
Red Gate Software has released the new ANTS Memory Profiler 5, which locates memory leaks in minutes and enables in-depth investigations of an application's memory usage.
He will also focus on Eclipse based development tools for Linux including a discussion on the latest in Linux run-time analysis tools, such as memory leak detection and performance profiling.
The capability of Eclipse-based development tools for Linux will also be covered with a special discussion on the latest in Linux run-time analysis tools, such as memory leak detection and performance profiling.
Memory Leak Could Potentially Put Millions of Computers at Risk of Frequent
8, Parasoft now supports Visual Studio 2005, and offers developers who are moving to this platform a method for testing and analyzing the toughest memory corruption and memory leak errors.
Further, because it is a runtime tool, ZVM reports memory errors and memory leaks with 100% accuracy and zero false positives.
Parallocity Zeus Virtual Machine Dynamic Analysis Framework automates the detection of hard-to-find concurrency defects, memory errors, and memory leaks while providing comprehensive analytics for highly complex, single- and multi-threaded applications, loadable kernel modules, and device drivers.