My Oracle Support Banner

Diagnosing Memory Growth and Memory Leaks in Network Charging and Control Applications (Doc ID 1293249.1)

Last updated on SEPTEMBER 21, 2019

Applies to:

Oracle Communications Network Charging and Control - Version 4.3.0 and later
Information in this document applies to any platform.


The purpose of this document is to explain how memeory leaks are identified, what can be done to prove it, plus what diagnostic information to collect.


Tools such as libumem are available in Solaris 9+.  While this article refers to the Oracle Communications Network Charging and Control (OCNCC) platform in its examples it could be more widely applied to other compiled sofware.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document
 What is a Memory Leak and how is it different to Memory Growth?
 Solaris Memory Tools
 Digging Deeper into a Memory Leak
 1. Configuring and Linking libumem into a Process
 2. Verify the Restarted Process is Correctly Configured
 3. Initial Snapshot of the Memory/Leak State
 4. Leave the Process to Soak
 5. Has it Leaked yet?
 6. Proving a Leak Exists
 7. Tracing the Leaked Buffers
 8. An Alternate Method to Steps 6 and 7
 9. Final Instructions
 What if the application I want to analyze is not started by a Wrapper Script?  eg. Solaris Service Management Facility (SMF)
 1. Enable libumem
 2. Restart the SMF Service
 3. Verify Environment Variables are Set
 4. Memory Snapshot, Run Load, Generate Core File for Analysis, etc
 5. Disable libumem
 6. Restart the SMF Service (again)
 7. Verify the Environment Variables are Unset

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.