Process level memory allocation by memory type
US-9824005-B1 · Nov 21, 2017 · US
US10289347B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10289347-B2 |
| Application number | US-201615334382-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 26, 2016 |
| Priority date | Apr 26, 2016 |
| Publication date | May 14, 2019 |
| Grant date | May 14, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.