The Progress® OpenEdge® Memory Profiler tool enables you to examine how an application utilizes memory over time and at specific intervals, allowing you to visualize the memory usage of your application code. A memory leak occurs when an application fails to release memory that is no longer needed. Consequently, the memory usage of the application increases over time, which may lead to reduced performance and eventually cause the application or system to run out of memory and crash. Memory leaks are particularly problematic in long-running applications or systems requiring high performance and reliable operation.

The OpenEdge Memory Profiler tool, supported in OpenEdge Release 12.8.9 and later, provides visualization of memory utilization and assists ABL developers in effectively detecting and diagnosing memory consumption issues within their ABL applications. You can use this tool to:
  • Identify memory leaks—By tracking excessive memory consumption and identifying memory usage to improve application performance.
  • Enhance system and application stability—By tracking memory usage that is not released in running applications or during testing phases, thereby preventing potential crashes and system instability in production environments.
  • Optimize performance—By identifying inefficient memory usage.
  • Debug complex issues—By providing statistics and visualization, that simplifies the debugging process and speeds up the resolution of memory-related issues.
  • Ensure best practices—By identifying areas where proper cleanup operations are required and encouraging the use of effective coding practices.
  • Optimize resource management—By tracking the use of different resources, such as file handles, database connections, graphical tools, and so on, to ensure that they are not unnecessarily holding onto memory.

As part of best practices, Progress recommends that you implement proper cleanup operations in your code. As a result, you ensure that any resources or objects that are no longer needed are properly disposed of to free up memory.

For more information, see ABL Programming Best Practices.

The following video demonstrates how to use the OpenEdge Memory Profiler visualization tool to effectively detect and diagnose memory consumption issues in ABL applications: