DETECTION AND REMEDIATION OF MEMORY LEAKS
0 Assignments
0 Petitions
Accused Products
Abstract
Detecting and remediating memory leaks associated with an application environment can include monitoring allocations of memory from a managed memory space to respective operations to produce memory allocation data and monitoring deallocations of memory to at least some of the respective operations to produce memory deallocation data. A trend in memory leakage can be determined based on samples of the memory allocation or deallocation data. A projection of future memory usage by operations associated with the trend can be determined using binned sets of the memory allocation data and the memory deallocation data. A predicted time at which memory usage by the operations associated with the trend is expected to exceed a threshold can be determined using the projection of future memory usage. A remediation action can be performed before the predicted time to prevent a memory constraint from occurring with respect to the application environment. The application environment can be configured to automatically allocate unallocated portions of memory to execute operations and periodically deallocate unused allocated memory.
-
Citations
43 Claims
-
1-23. -23. (canceled)
-
24. A system for remediating memory leaks, the system comprising:
-
a processor; and a memory, wherein the memory stores instructions that, when executed by the processor, cause the processor to; monitor allocations of memory to respective operations executing within an application environment and deallocations of memory associated with the respective operations; determine that a developing memory leak or an in-progress memory leak is occurring within the application environment based on the allocations of memory and deallocations of memory to the respective operations; in response to a determination that the developing memory leak is occurring within the application environment, identify a trend of memory usage over time based on the allocations of memory and the deallocations of memory and terminate a first operation executing throughout the trend; and in response to a determination that the in-progress memory leak is occurring within the application environment, terminate a second operation executing in the application environment, wherein the second operation is the oldest executing operation or the executing operation is using the most amount of memory in the application environment. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A method for remediating memory leaks, the method comprising:
-
monitoring, via a processor, allocations of memory and deallocations of memory to respective operations executing within an application environment; determining, via the processor, that a developing memory leak is occurring within the application environment based on the allocations of memory and deallocations of memory to the respective operations; in response to a determination that the developing memory leak is occurring within the application environment; identifying, via the processor, a trend of memory usage over time based on the allocations of memory and the deallocations of memory; and terminating, via the processor, an operation executing throughout the trend; - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. A non-transitory, computer-readable medium, comprising machine-readable instructions that, when executed by a processor, cause the processor to:
-
monitor allocations of memory and deallocations of memory to respective operations executing within an application environment; determine that an in-progress memory leak is occurring within the application environment based on the allocations of memory and deallocations of memory to the respective operations; in response to a determination that the in-progress memory leak is occurring within the application environment, terminate an operation executing in the application environment, wherein the operation is the oldest executing operation or the executing operation is using the most amount of memory in the application environment. - View Dependent Claims (40, 41, 42, 43)
-
Specification