Machine-learning based heap memory tuning

US11340924B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11340924-B2
Application numberUS-201916454251-A
CountryUS
Kind codeB2
Filing dateJun 27, 2019
Priority dateJun 27, 2019
Publication dateMay 24, 2022
Grant dateMay 24, 2022

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.

In an approach for JAVA Virtual Machine (JVM) heap memory tuning, one or more computer processors obtain a feature vector of an application running on the JVM. The one or more computer processors input the feature vector to a predictive model trained with historical application data collected in one or more production environments. The one or more computer processors receive an output of the predictive model based on the feature vector with at least one memory tuning recommendation for the JVM. The one or more computer processors tune the memory of the JVM based on the at least one memory tuning recommendation.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for JAVA Virtual Machine (JVM) heap memory tuning, comprising: obtaining, by one or more computer processors, a feature vector of an application running on the JVM, wherein the feature vector includes application transaction per second, application topology, available memory space in the JVM, and central processing unit cores number in the JVM; inputting, by one or more computer processors, the feature vector to a predictive model trained with historical application data collected in one or more production environments; receiving, by one or more computer processors, an output of the predictive model based on the feature vector with at least one memory tuning recommendation for the JVM; and tuning, by one or more computer processors, the memory of the JVM based on the at least one memory tuning recommendation providing minimum size of head memory, maximum size of heap memory and garbage collection policy, wherein tuning comprises identifying inactive objects and deleting the identified inactive objects. 2. The computer-implemented method of claim 1 , wherein the feature vector of the application further includes at least one of the following features: a type of the application and a data size accessed by the application. 3. The computer-implemented method of claim 1 , wherein the historical application data used to train the predictive model is within a predetermined JVM memory tuning range. 4. The computer-implemented method of claim 1 , further comprising: obtaining, by one or more computer processors, an updated feature vector of the application; inputting, by one or more computer processors, the updated feature vector to the predictive model; receiving, by one or more computer processors, an updated output of the predictive model based on the updated feature vector with at least one updated memory tuning recommendation; and tuning, by one or more processing units, the memory of the JVM based on at least one updated memory tuning recommendation. 5. The computer-implemented method of claim 4 , wherein the obtaining of the updated feature vector is executed responsive to a verification that the memory tuning of the JVM based on the at least one memory tuning recommendation is not within a predetermined JVM memory tuning range. 6. The computer-implemented method of claim 1 , wherein the predictive model is further trained with the historical application data of the application. 7. A computer program product for JAVA Virtual Machine (JVM) heap memory tuning comprising: one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the stored program instructions comprising: program instructions to obtain a feature vector of an application running on the JVM, wherein the feature vector includes application transactions per second, application topology, available memory space in the JVM, and central processing unit cores number in the JVM; program instructions to input the feature vector to a predictive model trained with historical application data collected in one or more production environments; program instructions to receive an output of the predictive model based on the feature vector with at least one memory tuning recommendation for the JVM; and program instructions to tune the memory of the JVM based on the at least one memory tuning recommendation providing minimum size of heap memory, maximum size of heap memory and garbage collection policy, wherein tuning comprises identifying inactive objects and deleting the identified inactive objects. 8. The computer program product of claim 7 , wherein the feature vector of the application further includes at least one of the following features: a type of the application and a data size accessed by the application. 9. The computer program product of claim 7 , wherein the historical application data used to train the predictive model is within a predetermined JVM memory tuning range. 10. The computer program product of claim 7 , further comprising: program instructions to obtain an updated feature vector of the application; program instructions to input the updated feature vector to the predictive model; program instructions to receive an updated output of the predictive model based on the updated feature vector as at least one updated memory tuning recommendation; and program instructions to tune the memory of the JVM based on the at least one updated memory tuning recommendation. 11. The computer program product of claim 10 , wherein the obtaining of the updated feature vector is executed responsive to a verification that the memory tuning of the JVM based on the at least one memory tuning recommendation is not within a predetermined JVM memory tuning range. 12. The computer program product of claim 7 , wherein the predictive model is further trained with the historical application data of the application. 13. A computer system for JAVA Virtual Machine (JVM) heap memory tuning comprising: one or more computer processors; one or more computer readable storage media; and program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the stored program instructions comprising: program instructions to obtain a feature vector of an application running on the JVM, wherein the feature vector includes application transactions per second, application topology, available memory space in the JVM, and central processing unit cores number in the JVM; program instructions to input the feature vector to a predictive model trained with historical application data collected in one or more production environments; program instructions to receive an output of the predictive model based on the feature vector with at least one memory tuning recommendation for the JVM; and program instructions to tune the memory of the JVM based on the at least one memory tuning recommendation providing minimum size of heap memory, maximum size of heap memory and garbage collection policy, wherein tuning comprises identifying inactive objects and deleting the identified inactive objects. 14. The computer system of claim 13 , wherein the feature vector of the application further includes at least one of the following features: a type of the application and a data size accessed by the application. 15. The computer system of claim 13 , wherein the historical application data used to train the predictive model is within a predetermined JVM memory tuning range. 16. The computer system of claim 13 , further comprising: program instructions to obtain an updated feature vector of the application; program instructions to input the updated feature vector to the predictive model; program instructions to receive an updated output of the predictive model based on the updated feature vector as at least one updated memory tuning recommendation; and program instructions to tune the memory of the JVM based on the at least one updated memory tuning recommendation. 17. The computer system of claim 16 , wherein the obtaining of the updated feature vector is executed responsive to a verification that the memory tuning of the JVM based on the at least one memory tuning recommendation is not within a predetermined JVM memory tuning range.

Assignees

Inventors

Classifications

  • Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title

  • G06F9/5016Primary

    the resource being the memory · CPC title

  • Generating training patterns; Bootstrap methods, e.g. bagging or boosting · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · 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 US11340924B2 cover?
In an approach for JAVA Virtual Machine (JVM) heap memory tuning, one or more computer processors obtain a feature vector of an application running on the JVM. The one or more computer processors input the feature vector to a predictive model trained with historical application data collected in one or more production environments. The one or more computer processors receive an output of the pr…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45504. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 2022 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).