Optimizing memory usage across multiple applications in the presence of garbage collection

US10037274B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10037274-B2
Application numberUS-201715791919-A
CountryUS
Kind codeB2
Filing dateOct 24, 2017
Priority dateJul 18, 2013
Publication dateJul 31, 2018
Grant dateJul 31, 2018

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, information processing system, and computer readable storage medium, vary a maximum heap memory size for one application of a plurality of applications based on monitoring garbage collection activity levels for the plurality of applications, each application including a heap memory, and unused memory in the heap memory being reclaimed by a garbage collector.

First claim

Opening claim text (preview).

What is claimed is: 1. In a system comprised of a plurality of applications wherein each application includes a heap memory wherein unused memory in the heap memory is reclaimed by a garbage collector, a method for improving memory allocation comprising the steps of: determining a level of memory usage for each application from a level of garbage collection activity of each application; and in response to a first application exhibiting a high level of memory usage, increasing a maximum heap memory of the first application. 2. The method of claim 1 , further comprising the step of: decreasing a maximum heap memory of at least one second application exhibiting a lower level of garbage collection activity than the first application. 3. The method of claim 1 , further comprising the step of: periodically monitoring the plurality of applications for a level of garbage collection activity of each application including a maximum heap memory size and a garbage collection activity level; and in response to the garbage collection activity level for an application exceeding a threshold, increasing the maximum heap memory size for the application. 4. The method of claim 1 , further comprising the step of: in response to the garbage collection activity level for an application falling below a threshold and free memory in the system falling below a threshold, reducing the maximum heap memory size for the application. 5. The method of claim 1 , further comprising the step of: making a decision to vary a maximum heap memory size for an application based on a distribution of garbage collection activity levels for a plurality of applications. 6. The method of claim 5 , further comprising the step of: increasing a maximum heap memory size for an application with a garbage collection activity level significantly above a mean for the distribution. 7. The method of claim 5 , further comprising the step of: decreasing a maximum heap memory size for an application with a garbage collection activity level significantly below a mean for the distribution. 8. The method of claim 1 , in which a garbage collection activity level of an application is weighted by a numerical value, in which the numerical value is correlated with heap memory size, total memory size, priority, or service level associated with an application. 9. The method of claim 1 , further comprising the step of: making a decision to vary a maximum heap memory size for an application based on historical profile information. 10. The method of claim 9 , further comprising the step of: making a decision to vary a maximum heap memory size for an application based on analyzing historical profile information to determine how much garbage collection activity levels vary with heap size. 11. The method of claim 1 , further comprising the step of: making a decision to vary a maximum heap memory size for an application based on analyzing historical profile information to predict memory size requirements for the application in the future. 12. The method of claim 1 , in which at least one application corresponds to at least one Java virtual machine. 13. The method of claim 1 , in which a garbage collection activity level of an application is determined by considering a frequency of garbage collections or a frequency of compacting garbage collections. 14. The method of claim 1 , in which a garbage collection activity level of an application is determined by considering a frequency of garbage collections or a frequency of compacting garbage collections divided by a processing time associated with the application. 15. The method of claim 1 , further comprising the step of: in response to the garbage collection activity level for an application falling below a threshold, reducing the maximum heap memory size for the application. 16. An information processing system comprising: a memory; a processor communicatively coupled to the memory; a garbage collector communicatively coupled to the processor and the memory; and a system monitor communicatively coupled to the processor and the memory, wherein each of a plurality of applications while running on the information processing system including a heap memory wherein unused memory in the heap memory is reclaimed by the garbage collector, and wherein the processor, responsive to executing computer instructions, performs operations comprising: determining a level of memory usage for each application from a level of garbage collection activity of each application; and in response to a first application exhibiting a high level of memory usage, increasing a maximum heap memory of the application. 17. The information processing system of claim 16 , wherein the processor, responsive to executing the computer instructions, performs operations comprising: decreasing a maximum heap memory of at least one second application exhibiting a lower level of garbage collection activity than the first application. 18. The information processing system of claim 16 , wherein the processor, responsive to executing the computer instructions, performs operations comprising: periodically monitoring the plurality of applications for level of garbage collection activity of each application including a maximum heap memory size and a garbage collection activity level; and in response to the garbage collection activity level for an application exceeding a threshold, increasing the maximum heap memory size for the application. 19. A computer readable storage medium, comprising computer instructions which, responsive to being executed by a processor cause the processor to perform operations, the processor being in an information processing system comprised of a memory communicatively coupled with the processor, a garbage collector communicatively coupled to the processor and the memory, wherein each of a plurality of applications while running on the information processing system including a heap memory wherein unused memory in the heap memory is reclaimed by the garbage collector, and wherein the processor, responsive to executing the computer instructions, performs operations comprising: determining a level of memory usage for each application from a level of garbage collection activity of each application; and in response to a first application exhibiting a high level of memory usage, increasing a maximum heap memory of the application. 20. The computer readable storage medium of claim 19 , wherein the processor, responsive to executing computer instructions, performs operations comprising: decreasing a maximum heap memory of at least one second application exhibiting a lower level of garbage collection activity than the first application.

Assignees

Inventors

Classifications

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

  • by allocating resources to storage systems · CPC title

  • Saving storage space on storage systems · CPC title

  • Single storage device · CPC title

  • Space efficiency improvement · 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 US10037274B2 cover?
A method, information processing system, and computer readable storage medium, vary a maximum heap memory size for one application of a plurality of applications based on monitoring garbage collection activity levels for the plurality of applications, each application including a heap memory, and unused memory in the heap memory being reclaimed by a garbage collector.
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/0253. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 31 2018 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).