Detection and remediation of memory leaks

US10289347B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10289347-B2
Application numberUS-201615334382-A
CountryUS
Kind codeB2
Filing dateOct 26, 2016
Priority dateApr 26, 2016
Publication dateMay 14, 2019
Grant dateMay 14, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for detecting and remediating memory leaks associated with an application environment, the system comprising: a memory configured to store data and one or more processor-executable routines; and a processor configured to communicate with the memory and to execute the routines stored therein, wherein the routines, when executed, cause the system to: monitor allocations of memory from a managed memory space to respective operations to produce memory allocation data, wherein the managed memory space is provisioned to the application environment; monitor deallocations of memory to at least some of the respective operations to produce memory deallocation data; determine that samples of memory allocation data and memory deallocation data observed over a time interval indicate a trend in memory leakage or a trend change in memory leakage; determine a projection of future memory usage by operations associated with the trend using binned sets of the memory allocation data and the memory deallocation data; determine a predicted time at which memory usage by the operations associated with the trend is expected to exceed a threshold using the projection of future memory usage; and perform a remediation action before the predicted time, wherein the remediation action comprises: terminating an executing operation within the application environment in response to a determination that the projection of future memory usage comprises a fast memory leak, wherein the executing operation is the oldest executing operation or the executing operation is using the most amount of memory in the application environment; or terminating an executing operation within the application environment in response to a determination that the projection of future memory usage comprises a slow memory leak, wherein the executing operation executes throughout the trend. 2. The system of claim 1 , wherein the routines, when executed, cause the system to: identify one or more operation runs and a rate of change of memory usage by operations of the one or more operation runs based on a binned set of the memory allocation data and the memory deallocation data; apply a regression analysis to the one or more operation runs to determine a slope corresponding to the trend of memory usage for the operations of the one or more operation runs; and project the rate of change of memory usage based on the trend of memory usage to determine that a memory constraint is expected to occur with respect to the application environment at the predicted time. 3. The system of claim 2 , wherein the routines to identify the one or more operation runs, when executed, cause the system to: determine a distribution of samples of the memory allocation data and the memory deallocation data; determine whether the distribution of samples of memory usage is random; and if the distribution is random, remove samples of the distribution of samples from the binned set of the memory allocation data and the memory deallocation data. 4. The system of claim 2 , wherein the routines, when executed, cause the system to: trigger performance of the remediation action responsive to a determination that a current time is less than a threshold amount of time from the predicted time. 5. The system of claim 2 , wherein the remediation action includes a reset of a server operating in the application environment, wherein the server executes one or more operations of the respective operations. 6. The system of claim 1 , wherein unused allocated memory of the application environment is automatically deallocated by a performance of a garbage collection operation. 7. The system of claim 1 , wherein the application environment includes an application server executing the respective operations, the application server operating on a server device. 8. The system of claim 7 , wherein the application server is a Java Virtual Machine. 9. A method for detecting and remediating memory leaks associated with an application environment, the method comprising: monitoring allocations of memory from a managed memory space to respective operations to produce memory allocation data, wherein the managed memory space is provisioned to the application environment; monitoring deallocations of memory to at least some of the respective operations to produce memory deallocation data; determining that samples of memory allocation data and memory deallocation data observed over a time interval indicate a trend in memory leakage or a trend change in memory leakage; determining a projection of future memory usage by operations associated with the trend using binned sets of the memory allocation data and the memory deallocation data; determining a predicted time at which memory usage by the operations associated with the trend is expected to exceed a threshold using the projection of future memory usage; and performing a remediation action before the predicted time, wherein the remediation action comprises: terminating an executing operation within the application environment in response to a determination that the projection of future memory usage comprises a fast memory leak, wherein the executing operation is the oldest executing operation or the executing operation is using the most amount of memory in the application environment; or terminating an executing operation within the application environment in response to a determination that the projection of future memory usage comprises a slow memory leak, wherein the executing operation executes throughout the trend. 10. The method of claim 9 , the method further comprising: identifying one or more operation runs and a rate of change of memory usage by operations of the one or more operation runs based on a binned set of the memory allocation data and the memory deallocation data; applying a regression analysis to the one or more operation runs to determine a slope corresponding to the trend of memory usage for operations of the one or more operation runs; and projecting the rate of change of memory usage based on the trend of memory usage to determine that a memory constraint is expected to occur with respect to the application environment at the predicted time. 11. The method of claim 10 , wherein identifying the one or more operation runs comprises: determining a distribution of samples of the memory allocation data and the memory deallocation data; determining whether the distribution of samples of memory usage is random; and if the distribution is random, removing samples of the distribution of samples from the binned set of the memory allocation data and the memory deallocation data. 12. The method of claim 10 , the method further comprising: triggering performance of the remediation action responsive to determining that a current time is less than a threshold amount of time from the predicted time. 13. The method of claim 10 , wherein the remediation action includes resetting a server operating in the application environment, wherein the server executes one or more operations of the respective operations. 14. The method of claim 9 , wherein unused allocated memory of the application environment is automatically deallocated by performing a garbage collection operation. 15. The method of claim 9 , wherein the application environment includes an application server executing the respective operations, the application server operating on a server device. 16. The method of claim 15 , wherein the application server is a Java Virtual Machine. 17. A system comprising: an application e

Assignees

Inventors

Classifications

  • the resource being the memory · CPC title

  • Mechanisms to release resources · CPC title

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • Cleaning, compaction, garbage collection, erase control · CPC title

  • for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10289347B2 cover?
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 …
Who is the assignee on this patent?
Servicenow Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3034. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 14 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).