Primary Note on Troubleshooting Tuxedo Memory Leaks
(Doc ID 1225079.1)
Last updated on JULY 26, 2024
Applies to:
Oracle Tuxedo - Version 6.5 to 12.1.1 Information in this document applies to any platform.
Purpose
Problem Description
Memory leaks are often thought of as failures to release unused memory by a computer program. Strictly speaking, that behavior is just more memory consumption. A memory leak occurs when the program loses the ability to free the memory. The behavior diminishes the performance of the computer, as it becomes unable to use all its available memory.
Memory leak is a common error in programming, especially when programming in languages that do not have garbage collection (GC), like C and C++, which deeply rely on pointer operations.
The main issue is that it is normally a component of the operating system which is responsible for managing memory, and so the result of a memory leak is that over time more memory is used by the system as a whole, not just by the process or program. This leads to the point where too much of the available system memory is allocated and the system or critical subsystems can cease to function.
Some languages provide automatic GC, such as Java, C#, and LISP. Note that in these languages, there can be memory leaks too. The memory management does not free an object that is still referenced by other objects. For example, store an object in a Vector object in Java, but later lose or forget about the index. The developer is responsible for cleaning up references after use. Nevertheless, automatic memory management is more convenient for developers, as they do not need to implement freeing routines or worry about the sequence in which cleanup is performed. This garbage collection does impact the performance of the application due to the extra checks that the application has to make.
The purpose of this knowledge article is to identify how memory leaks, and look at some tools and techniques for tracking them down.
Troubleshooting Steps
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!