参考文章:
Java平台,标准版HotSpot虚拟机垃圾收集调优指南https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/toc.html
想要了解JVM的调优,看了一些博文,然后最后回归到官网上,看看官方的说法。官方都是英文的,先浏览器翻译功能看看,加深理解。
关键内容:
64位的JVM上,物理内存小于192MB时,为物理内存的一半;物理内存大192MB且小于128GB时,为物理内存的四分之一;大于等于128GB时,都为32GB
指定初始和最大堆大小
您可以使用标志-Xms(初始堆大小)和-Xmx(最大堆大小)来指定初始堆大小和最大堆大小。如果你知道你的应用程序有多少堆需要工作做好,你可以设置-Xms和-Xmx相同的值。否则,JVM将使用初始堆大小开始,然后将增大Java堆,直到找到堆使用和性能之间的平衡为止。
阿里开发手册要求最大最小堆要一样。
其他参数和选项可能会影响这些默认值。要验证您的默认值,请使用该-XX:+PrintFlagsFinal选项并MaxHeapSize在输出中查找。例如,在Linux或Solaris上,可以运行以下命令:
java -XX:+ PrintFlagsFinal <GC选项> -version | grep MaxHeapSize
点评:内容比较简单,没有很实际指导性操作。