System for tuning a java virtual machine

Gespeichert in:
Bibliographische Detailangaben
Titel: System for tuning a java virtual machine
Patent Number: 12001,269
Publikationsdatum: June 04, 2024
Appl. No: 17/865237
Application Filed: July 14, 2022
Abstract: Techniques are described for tuning a Java Virtual Machine (JVM) in an automated manner. The automated tuning may be performed to improve a JVM's performance including to prevent it from failing. An auto-tuning system is described that can auto-detect one or more anomalous conditions for a JVM, and in response, take one or more corrective actions to auto-tune the JVM to avoid or reduce/mitigate any adverse impacts of the detected anomalous conditions. A corrective action taken for a JVM may include changing one or more parameters associated with the JVM.
Inventors: Oracle International Corporation (Redwood Shores, CA, US)
Assignees: Oracle International Corporation (Redwood Shores, CA, US)
Claim: 1. A method comprising: providing, using infrastructure provided by a cloud service provider (CSP), a first cloud service for tuning Java Virtual Machines (JVMs), wherein the first cloud is subscribed to by a plurality of customers; and for a first customer from the plurality of customers subscribing to the first cloud service, performing processing comprising: monitoring, by a computer system comprising one or more processors, a first Java Virtual Machine (JVM) associated with the first customer; detecting, by the computer system, a first anomalous condition for the first JVM associated with the first customer; identifying, by the computer system, a first corrective action to be performed on the first JVM associated with the first customer responsive to the first anomalous condition; and causing, by the computer system, the first corrective action to be performed for the first JVM associated with the first customer, wherein the first corrective action causes a value of a parameter associated with the first JVM associated with the first customer to be changed or causes an object to be removed from a memory of the first JVM associated with the first customer.
Claim: 2. The method of claim 1 , wherein the detecting comprises: identifying, by a computer system, an unreferenced object in the memory of the first JVM.
Claim: 3. The method of claim 2 wherein the detecting comprises: causing, by the computer system, the first JVM to delete the unreferenced object from the memory.
Claim: 4. The method of claim 1 , wherein causing the first corrective action to be performed comprises: changing a value of a parameter for the first JVM that causes a size of the memory of the first JVM to be changed.
Claim: 5. The method of claim 1 , wherein detecting the first anomalous condition comprises using an action rule to detect the first anomalous condition, wherein the action rule identifies a condition associated with the first JVM.
Claim: 6. The method of claim 1 , wherein detecting the first anomalous condition comprises providing state information for the first JVM to a machine learning (ML) model, and using a prediction provided by the ML model to identify the first anomalous condition.
Claim: 7. The method of claim 1 , further comprising: based on historical data, identifying a seasonal trend for the first JVM applicable for a specific period of time.
Claim: 8. The method of claim 7 , further comprising: building a seasonal model or a set of seasonal rules based on the seasonal trend; wherein identifying the first anomalous condition comprises using the seasonal model or the set of seasonal rules for identification of the first anomalous condition.
Claim: 9. The method of claim 1 , further comprising: receiving, by the computer system, a response from the first JVM indicating that the first corrective action failed to execute; identifying, by the computer system, an alternative corrective action to be performed, wherein the alternative corrective action is different from the corrective action that failed to execute; and causing, by the computer system, the alternative corrective action to be performed.
Claim: 10. The method of claim 1 , further comprising: for a second customer from the plurality of customers subscribing to the first cloud service, performing processing comprising: monitoring, by a computer system, a second Java Virtual Machine (JVM) associated with the second customer; detecting, by the computer system, a second anomalous condition for the second JVM associated with the second customer; identifying, by the computer system, a corrective action to be performed on the second JVM associated with the second customer responsive to the second anomalous condition; and causing, by the computer system, a second corrective action to be performed for the second JVM associated with the second customer, wherein the second corrective action causes a value of a parameter associated with the second JVM associated with the second customer to be changed or causes a second object to be removed from a memory of the second JVM associated with the second customer.
Claim: 11. The method of claim 1 , wherein monitoring the first JVM comprises monitoring at least one of a number of a set of memory objects stored in the memory of the first JVM, an amount of heap memory in the memory of the first JVM, an amount of stack memory in the memory of the first JVM, or a number of threads executed by applications running on the first JVM.
Claim: 12. A system comprising: one or more processors configured to: provide, using infrastructure provided by a cloud service provider (CSP), a first cloud service for tuning Java Virtual Machines (JVMs), wherein the first cloud is subscribed to by a plurality of customers; and for a first customer from the plurality of customers subscribing to the first cloud service, performing processing comprising: monitor a first Java Virtual Machine (JVM) associated with the first customer; detect a first anomalous condition for the first JVM associated with the first customer; identify a first corrective action to be performed on the first JVM associated with the first customer responsive to the first anomalous condition; and cause the first corrective action to be performed for the first JVM associated with the first customer, wherein the first corrective action causes a value of a parameter associated with the first JVM associated with the first customer to be changed or causes an object to be removed from a memory of the first JVM associated with the first customer.
Claim: 13. The system of claim 12 , wherein the processors are further configured to: identify an unreferenced object in the memory of the first JVM.
Claim: 14. The system of claim 13 , wherein the processors are further configured to: cause the first JVM to delete the unreferenced object from the memory.
Claim: 15. The system of claim 12 , wherein the processors are further configured to: change a value of a parameter for the first JVM that causes a size of the memory of the first JVM to be changed.
Claim: 16. The system of claim 12 , wherein monitoring the first JVM comprises monitoring at least one of a number of a set of memory objects stored in the memory, an amount of heap memory in the memory, an amount of stack memory in the memory, or a number of threads executed by applications running on the first WM.
Claim: 17. A non-transitory computer-readable medium storing a set of instructions, the set of instructions when executed by one or more processors cause processing to be performed comprising: providing, using infrastructure provided by a cloud service provider (CSP), a first cloud service for tuning Java Virtual Machines (JVMs), wherein the first cloud is subscribed to by a plurality of customers; and for a first customer from the plurality of customers subscribing to the first cloud service, performing processing comprising: monitoring, by a computer system comprising one or more processors, a first Java Virtual Machine (JVM) associated with the first customer; detecting, by the computer system, a first anomalous condition for the first JVM associated with the first customer; identifying, by the computer system, a first corrective action to be performed on the first JVM associated with the first customer responsive to the first anomalous condition; and causing, by the computer system, the first corrective action to be performed for the first JVM associated with the first customer, wherein the first corrective action causes a value of a parameter associated with the first JVM associated with the first customer to be changed or causes an object to be removed from a memory of the first JVM associated with the first customer.
Claim: 18. The non-transitory computer-readable medium of claim 17 , wherein the first anomalous condition is detected using a rules based approach.
Claim: 19. The non-transitory computer-readable medium of claim 17 , wherein the instruction further comprise: based on historical data collected for a customer, identifying a seasonal trend for the customer, the seasonal trend applicable for a specific period of time; and building a seasonal model or a set of seasonal rules based on the seasonal trend, wherein identifying the first anomalous condition comprises using the seasonal model or the set of seasonal rules for identification of the first anomalous condition.
Patent References Cited: 8583783 November 2013 Hayward
9690644 June 2017 Anderson
9753846 September 2017 Baluch
20160371180 December 2016 Urmanov
20180276117 September 2018 Purgason
20200409731 December 2020 Zhang
Other References: Jayasena, Sanath et al., Auto-tuning the Java Virtual Machine, 2015, IEEE (Year: 2015). cited by examiner
Primary Examiner: Duncan, Marc
Attorney, Agent or Firm: Kilpatrick Townsend & Stockton LLP
Dokumentencode: edspgr.12001269
Datenbank: USPTO Patent Grants
Beschreibung
Abstract:Techniques are described for tuning a Java Virtual Machine (JVM) in an automated manner. The automated tuning may be performed to improve a JVM's performance including to prevent it from failing. An auto-tuning system is described that can auto-detect one or more anomalous conditions for a JVM, and in response, take one or more corrective actions to auto-tune the JVM to avoid or reduce/mitigate any adverse impacts of the detected anomalous conditions. A corrective action taken for a JVM may include changing one or more parameters associated with the JVM.