“在代码的世界里,每一行都是进步的足迹,每一次挑战都是成长的机遇。”

常见JVM参数配置和说明

JVM有许多参数可以用于调整其行为。以下是一些常用的JVM参数:

-Xmx:设置JVM的最大堆大小。例如,-Xmx2g表示JVM的最大堆大小为2GB。

-Xms:设置JVM的初始堆大小。例如,-Xms1g表示JVM的初始堆大小为1GB。

-XX:+UseG1GC:启用G1垃圾收集器。G1垃圾收集器是一种基于区域的垃圾收集器,可以提高垃圾收集的效率,MaxTenuringThreshold15。

-XX:+UseConcMarkSweepGC:启用CMS垃圾收集器。CMS垃圾收集器是一种基于标记-清除算法的垃圾收集器,可以在不停止应用程序的情况下进行垃圾收集,其中MaxTenuringThreshold默认参数是6。

-XX:+UseParallelGC:启用并行垃圾收集器。并行垃圾收集器可以使用多个线程进行垃圾收集,从而提高垃圾收集的效率。(-XX:ParallelGCThreads 设置年轻代并行收集器的线程数。一般地,最好与CPU数量相等,以避免过多的线程数影响垃圾收集性能。)

-XX:+UseSerialGC:启用串行垃圾收集器。串行垃圾收集器只使用一个线程进行垃圾收集,适用于小型应用程序。

-XX:+TieredCompilation:启用JIT编译器。JIT编译器可以将Java字节码转换为机器码,并缓存已编译的代码以提高性能。

-XX:MaxPermSize:设置永久代的最大大小。例如,-XX:MaxPermSize=256m表示永久代的最大大小为256MB。

-XX:MaxMetaspaceSize:设置元空间的最大大小。例如,-XX:MaxMetaspaceSize=256m表示元空间的最大大小为256

-XX:NewSize=:设置新生代的初始大小。

-XX:MaxNewSize=:设置新生代的最大大小。

 -XX:SurvivorRatio=:设置Eden区与Survivor区的比例。

-XX:MaxTenuringThreshold=:设置对象进入老年代的年龄阈值。

-XX:PermSize=:设置永久代的初始大小。

-XX:MaxPermSize=:设置永久代的最大

example:

-Xms2048m

-Xmx4096m

-XX:+UseStringDeduplication

-XX:+UnlockExperimentalVMOptions

-XX:G1MixedGCLiveThresholdPercent=90

-XX:NewRatio=3

-XX:MaxTenuringThreshold=15

-XX:+UseG1GC

-XX:InitiatingHeapOccupancyPercent=20

-XX:+PrintGCDetails

-Xloggc:log/gc-%t.log

Write your comment Here