I have to do some performance tuning in our application API and I've been researching the JVM flags regarding Heap Size and Gargabe collection. However, I often find myself in many different documentations, sometimes I end up in WebLogic Servers docs or some other enterprise version of the java ecossystem.
I've considered testing flags that are common to all JVM's, I've read some of them are more common and are present in almost all JVM's, whereas some are more specific, like the -XX ones, are more JVM specific.
My guess is that this https://openjdk.java.net/groups/hotspot/ is the answer, but I was wondering if anyone had any more concrete info. I've run a command at home (not the application at my job, but the result seems to be the same, except for the java version) to get some info at home in a process, just to compare:
root@xxxx:/home/xxxx# jcmd 6134 VM.system_properties > log.out
root@xxxx:/home/xxxx# cat log.out | grep vm
java.vm.vendor=Ubuntu
java.vm.specification.version=11
sun.boot.library.path=/usr/lib/jvm/java-11-openjdk-amd64/lib
java.home=/usr/lib/jvm/java-11-openjdk-amd64
java.vm.compressedOopsMode=Zero based
java.vm.specification.vendor=Oracle Corporation
java.vm.name=OpenJDK 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.info=mixed mode, sharing
java.vm.version=11.0.11+9-Ubuntu-0ubuntu2.18.04
root@xxxx:/home/xxx#
As you can see it just states OpenJDK 64-Bit Server VM, as the jvm name. If I try to search on google for the flags, it falls back to HotSpot, hence my doubt.
I've already used the command that lists all JVM flags to see the options, so that's already a good thing. However the official documentation would also be nice, I've been going on different JVM specifications hoping that the meaning of the flag would be the same, but it does cause me the feeling I don't know what I'm doing.
So, maybe a TL:DR: can OpenJDK 64-Bit Server VM be interpreted as the HotSpot JVM, or should I look for its docs somewhere else?