Method and apparatus for detecting a suspect memory leak

US8977908B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8977908-B2
Application numberUS-201213596095-A
CountryUS
Kind codeB2
Filing dateAug 28, 2012
Priority dateAug 31, 2011
Publication dateMar 10, 2015
Grant dateMar 10, 2015

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.

A method for determining a suspect memory leak, including: sampling the throughput and memory usage of an application server; based on the sampled throughput, monitoring whether the throughput decrease continually, and based on the sampled memory usage, monitoring whether the memory usage remains stable within a predefined range; in response to a continual decrease of the throughput and the memory usage remaining stable within the predetermined range, determining that the application server is suspected of having a memory leak. Using the solution of the present invention can free an administrator of the burden of artificially identifying suspect servers, can identify a suspect server during runtime and further determine whether it actually has a memory leak.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for determining a suspect memory leak on an application server, comprising: sampling request throughput and memory usage of the application server; monitoring, based on the sampled throughput, whether the throughput trends in a decreasing direction based on calculating a statistical value of the throughput during each time window in multiple time windows; monitoring, based on the sampled memory usage, whether the memory usage is substantially stable at a target memory value; and determining, in response to the throughput trending in a decreasing direction and the memory usage being substantially stable at the target memory value, that the application server is suspected of having a memory leak. 2. The method of claim 1 , wherein, the statistical value of the throughput decreases in succession of the statistical value in at least two adjacent time windows. 3. The method of claim 1 , wherein, the statistical value of the throughput is selected from the group consisting of: a minimum throughput; a maximum throughput; and an average throughput in the time window. 4. The method of claim 1 , wherein monitoring, based on the sampled memory usage, whether usage remains substantially stable at a target memory value comprises: determining the number of memory usage samples in a time window that are within a predetermined range about the target memory value; and determining, in response to the number of the memory usage samples in the time window within the predetermined range exceeding a predetermined threshold, that the memory usage in the time window is substantially stable at the target memory value. 5. The method of claim 4 , wherein the predetermined range about the target memory value is one or more of: symmetric about the target memory value, asymmetric about the target memory value, approximately 10% of total memory. 6. The method of claim 1 , wherein the sampling is performed during a period of request flow control. 7. The method of claim 1 , further comprising: determining whether the application server suspected of having a memory leak actually has a memory leak. 8. The method of claim 1 , a plurality of application servers forming an application server tier, further comprising: identifying one or more application servers suspected of having memory leaks; determining that the identified application servers suspected of having memory leaks actually have memory leaks if the number of application servers in the application server tier suspected of having memory leaks exceed a predetermined value. 9. An apparatus for detecting a suspect memory leak on an application server, comprising: a sampling component configured to sample request throughput information and memory usage information of the application server; a monitoring component configured to monitor whether the sampled throughput trends in a decreasing direction based on calculating a statistical value of the throughput during each time window in multiple time windows, and to monitor whether the sampled memory usage is substantially stable at a target memory value; and a determining component configured to, in response to the throughput trending in a decreasing direction and the memory usage being substantially stable at the target memory value, determine the server is suspected of having a memory leak. 10. The apparatus of claim 9 , wherein, the statistical value of the throughput decreases in succession of the statistical value in at least two time windows. 11. The apparatus of claim 9 , wherein the statistical value of the throughput is selected from the group consisting of: a minimum throughput; a maximum throughput; and an average throughput in the time window. 12. The apparatus of claim 9 , wherein the monitoring component comprises: a range comparison component configured to determine the number of memory usage samples in a time window that are within a predetermined range about the target memory value; and a stability determining component configured to, in response to the number of memory usage samples in the time window within the predetermined range exceeding a predetermined threshold, determine that the memory usage in the time window is substantially stable at the target memory value. 13. The apparatus of claim 12 , wherein the predetermined range about the target memory value is one or more of: symmetric about the target memory value, asymmetric about the target memory value, approximately 10% of total memory. 14. The apparatus of claim 9 , wherein the sampling component is further configured to sample during a period of request flow control. 15. The apparatus of claim 9 , further comprising: a component configured to determine whether the application server suspected of having a memory leak actually has a memory leak. 16. The apparatus of claim 9 , a plurality of application servers forming an application server tier, further comprising: a component configured to, in response to the determining component identifying one or more application servers in the application server tier suspected of having a memory leak, the number of identified application servers exceeding a predetermined value, determine that the application servers suspected of having a memory leak actually have a memory leak. 17. A computer readable non-transitory storage medium tangibly embodying computer readable program code having computer readable instructions which, when implemented, cause a computer that comprises system hardware resources to carry out the steps of a method of determining a suspect memory leak on an application server, comprising: sampling request throughput and memory usage of the application server; monitoring, based on the sampled throughput, whether the throughput trends in a decreasing direction based on calculating a statistical value of the throughput during each time window in multiple time windows; monitoring, based on the sampled memory usage, whether the memory usage is substantially stable at a target memory value; and determining, in response to the throughput trending in a decreasing direction and the memory usage being substantially stable at the target memory value, that the application server is suspected of having a memory leak. 18. The computer readable non-transitory storage medium of claim 17 , wherein monitoring, based on the sampled memory usage, whether usage remains substantially stable at a target memory value comprises: determining the number of memory usage samples in a time window that are within a predetermined range about the target memory value; and determining, in response to the number of the memory usage samples in the time window within the predetermined range exceeding a predetermined threshold, that the memory usage in the time window is substantially stable at the target memory value. 19. The computer readable non-transitory storage medium of claim 18 , wherein the predetermined range about the target memory value is one or more of: symmetric about the target memory value, asymmetric about the target memory value, approximately 10% of total memory.

Assignees

Inventors

Classifications

  • G06F11/073Primary

    in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title

  • Performance evaluation by statistical analysis · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

  • by exceeding a count or rate limit, e.g. word- or bit count limit · 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 US8977908B2 cover?
A method for determining a suspect memory leak, including: sampling the throughput and memory usage of an application server; based on the sampled throughput, monitoring whether the throughput decrease continually, and based on the sampled memory usage, monitoring whether the memory usage remains stable within a predefined range; in response to a continual decrease of the throughput and the mem…
Who is the assignee on this patent?
Qiu Jie, Wu Hai Shan, Yang Jie, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F11/073. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 10 2015 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).