How to Tune a Java Virtual Machine (JVM)
The Java Virtual Machine (JVM) runs your Java programs. Sometimes the default configuration that the JVM comes with may not be the most efficient for your program.
In such a case, you need to tune the JVM to improve its performance. You can adjust the default parameters until you achieve the desired performance for your application.
There are three types of command line options that you can use when tuning your JVM.
Standard options
Standard options come with every JVM compiler. You can use them to perform actions like setting classpath or checking your JRE version. These options begin with a dash ( - ) prefix and end with the option name.
For example, to check your JRE version, enter the following command line:
java -version
Non-standard options
The non-standard options are specific to your JVM implementation. The most common implementation is the Hotspot JVM, which you probably already have installed on your computer.
Non-standard options start with -X. Unlike standard options, you can do a lot more with non-standard options.
These options allow you to set parameters to increase heap memory, nursery size or garbage collector type. This is where most of the performance tuning takes place.
For example, to set the minimum heap memory for your application to 1GB and the maximum to 3GB, use the command below:
java -Xms1g -Xmx3g JavaClass
Advanced options
You can use advanced options to control actions at the system level. In general, you should not use these options unless you have a deep understanding of your system.
It is also important to note that these options are subject to change at any time without notice. You can track the changes made to the HotSpot JVM through the Oracle documentation.
Advanced options start with -XX. Like non-standard options, they are not guaranteed to be available in all JVM implementations. The syntax of these options is similar to that of the non-standard options.
For example, to set the maximum metaspace size to 85004KB, use the following command:
java -XX:MaxMetaspaceSize=85004k JavaClass
Many options to tweak the JVM
You can tune your JVM with several types of options. But there are many options available to control various low-level settings.
You can check the available options by running java -X or you can check the Oracle documentation for more details.
- Should I use Docker or a virtual machine?
- Why You Should Have a Virtual Machine in Hand
- The best autotune software
- 5 best virtual machines for Windows 11 PCs
- What is Java? Why choose Java?
- Stealing virtual machines and virtual machine data
- Instructions for connecting USB to virtual machine
- Apple is about to update Java for Mac computers
- VirtualBox and VMware Player: Which virtual machine should you choose?
- Steps to install windows 11 on virtual machine, how to install windows 11 on VMware
- How to download and install Auto Tune on your computer
- Basic Java syntax
- Learn about virtual machines
- Instructions for activating virtual machines on Windows 11