Periodic Memory Leak Detection System for Production Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory leaks in performance-critical applications are difficult to detect and fix, especially in production environments where existing tools are limited or ineffective, causing slow response times or outages, and often require significant performance degradation, code changes, or inability to produce reports before process termination.

Innovation Solution

A system for periodic memory leak detection that monitors dynamic memory allocations, allows user control over data collection periods and report generation, and produces lightweight, focused reports without degrading performance or requiring code changes, capable of generating reports during process execution and supporting various operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing memory leak detection tools are used in production environments, then memory leaks can be detected, but system performance degrades significantly and the tools have limitations that make them ineffective in production-like environments

Engineering Contradiction:
Improvememory leak detection capabilityVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system implements periodic memory leak detection by monitoring memory allocations at specified time intervals rather than continuously. The detector collects allocation information during monitoring periods and generates reports periodically, allowing the system to maintain high performance during non-monitoring periods while still detecting memory leaks effectively.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs partial monitoring by collecting only the specific allocation information needed for leak detection rather than comprehensive continuous monitoring. It monitors memory allocations selectively during defined time periods and for specific data types, reducing the overhead impact on system performance while maintaining detection effectiveness.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If memory leak detection is performed continuously, then detection accuracy improves, but system performance and response time deteriorate

Engineering Contradiction:
Improvememory leak detection accuracyVSAvoidsystem response time
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system alternates between monitoring periods and non-monitoring periods. During monitoring periods, it collects detailed allocation information with high accuracy. During non-monitoring periods, it operates at full performance without detection overhead. This periodic approach maintains detection accuracy while preserving system response time.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The monitoring intensity and data collection frequency are dynamically adjusted based on system state and user-defined parameters. The system can adapt monitoring periods and collection depth to balance detection accuracy with performance requirements, rather than using a fixed continuous monitoring approach.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If comprehensive memory allocation data is collected, then detection accuracy improves, but data processing complexity and report generation time increase

Engineering Contradiction:
Improvememory leak detection accuracyVSAvoiddata processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts only the specific allocation information needed for leak detection based on user-defined data type indicators. It filters and collects only relevant data during monitoring periods, excluding unnecessary allocation details. This reduces data processing complexity while maintaining detection accuracy for the targeted memory allocation types.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies different data collection strategies to different data types and time periods. It collects detailed information for specific data types indicated by the user while using simpler monitoring for other types. This localized approach to data quality reduces overall processing complexity while maintaining high detection accuracy for critical allocation types.

Inventive Principle:
Principle #3Local quality

4Measurement precision

If memory leak detection tools are used in production environments, then leaks can be identified, but the tools require code changes or have limitations that prevent their use

Engineering Contradiction:
Improvememory leak detection capabilityVSAvoidease of deployment
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The detection system operates autonomously in production environments without requiring modifications to the monitored code. It interfaces with the running process through standard mechanisms, collecting allocation information and generating reports independently. This self-service capability eliminates the need for code changes while maintaining detection effectiveness.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses an intermediary approach by introducing a separate detection component that interfaces with the production system through standardized communication channels. This mediator collects allocation data without requiring changes to the original code, enabling deployment in production environments while maintaining detection capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10635578B1System, method, and computer program for periodic memory leak detection
Publication Date: 2020.04.28 AMDOCS DEV LTD
  • US10635578B1 patent drawing
  • US10635578B1 patent drawing
  • US10635578B1 patent drawing

AI summary

A system, method, and computer program product are provided for periodic memory leak detection. In operation, a system monitors one or more processes that perform dynamic memory allocations. The system receives a data type indicator indicating a type of data associated with the dynamic memory allocations to collect. The system receives a time indicator indicating a time period for monitoring and collecting data associated with the data type indicator. The system collects the data associated with the data type indicator for the one or more processes for the time period. Moreover, the system generates a report based on the collected data associated with the data type indicator for the one or more processes.