jdk8 支持-XX:TieredStopAtLevel=1这个参数吗?
时间: 2024-02-17 08:02:30 浏览: 37
是的,JDK8支持`-XX:TieredStopAtLevel`参数。该参数用于指定JVM在编译时停止Tiered Compilation的层数。默认情况下,JVM会在第2层停止Tiered Compilation。
`-XX:TieredStopAtLevel`参数的有效值为1、2和3。如果将其设置为1,则JVM只会在C1级别进行编译,而不进行C2级别的编译。这可能会降低应用程序的性能,但可以减少编译时间和内存消耗。
例如,可以使用以下命令将`-XX:TieredStopAtLevel`设置为1:
```
export MAVEN_OPTS="-XX:TieredStopAtLevel=1"
```
请注意,该参数只适用于使用Tiered Compilation的JVM。如果您禁用了Tiered Compilation,则该参数将无效。
相关问题
jdk1.8,检查下如下配置有何问题。VM Flags: Non-default VM flags: -XX:CICompilerCount=12 -XX:CMSInitiatingOccupancyFraction=80 -XX:InitialHeapSize=17179869184 -XX:MaxHeapSize=68719476736 -XX:MaxNewSize=22906142720 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=5726273536 -XX:OldSize=11453595648 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+UseCMSInitiatingOccupancyOnly -XX:-UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC Command line: -D[Standalone] -XX:+UseCompressedOops -XX:+UseCompressedOops -Xms16384m -Xmx65536m -XX:MaxPermSize=8192m -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:gc.log -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/usr/Wildfly/wildfly-8.2.1.Final/standalone/log/server.log -Dlogging.configuration=file:/usr/Wildfly/wildfly-8.2.1.Final/standalone/configuration/logging.properties
根据你提供的配置,有以下几个问题需要注意:
1. 在 VM Flags 中重复了两次 `-XX:+UseCompressedOops`。建议移除其中一个重复的配置。
2. `-Xms16384m -Xmx65536m` 设置了初始堆大小为 16GB,最大堆大小为 64GB。根据你的需求和服务器的可用内存,这个配置可能是合理的。但请确保服务器有足够的内存来支持这个堆大小。
3. `-XX:MaxPermSize=8192m` 设置了永久代最大大小为 8GB。在 JDK 1.8 中,永久代已被元空间(Metaspace)取代。因此,这个配置对于 JDK 1.8 是无效的,可以移除。
4. `-Xloggc:gc.log` 配置了 GC 日志的输出路径为 `gc.log`。请确保指定的路径在文件系统中是可写的,并且有足够的磁盘空间来存储 GC 日志。
5. 其他的配置项看起来没有问题,但请确保这些配置与你的应用程序和服务器的需求相符合。
需要注意的是,这只是对配置文件的简单检查,具体的配置是否合适还需要根据你的应用程序和服务器的实际情况来确定。
/usr/java/jdk1.8.0_161/bin/java -server -Xms2g -Xmx2g -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -verbose:gc -Xloggc:/dev/shm/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:MaxDirectMemorySize=15g -XX:-UseLargePages -XX:-UseBiasedLocking -Drocketmq.client.logUseSlf4j=true -cp .:/usr/local/rocketmq/bin/../conf:/usr/local/rocketmq/bin/../lib/*: -Drmq.logback.configurationFile=/usr/local/rocketmq/conf/rmq.broker.logback.xml org.apache.rocketmq.broker.BrokerStartup -c ../conf/broker.conf
这是一个使用Java语言编写的应用程序的命令行运行指令。该程序是一个消息队列中间件的Broker,使用了RocketMQ框架实现。其中的参数含义如下:
-server:使用JVM的server模式。在多核CPU上提高性能。
-Xms2g:JVM启动时堆内存的最小值为2G。
-Xmx2g:JVM堆内存的最大值为2G。
-XX:+UseG1GC:使用G1垃圾回收器。
-XX:G1HeapRegionSize=16m:G1垃圾回收器内存区域的大小为16M。
-XX:G1ReservePercent=25:预留25%的空间以避免太满引发的性能问题。
-XX:InitiatingHeapOccupancyPercent=30:G1在堆内存使用达到30%时会触发垃圾回收。
-XX:SoftRefLRUPolicyMSPerMB=0:清除软引用的时间间隔为0,即软引用的对象一旦没有被使用就会被立即清除。
-verbose:gc:打印GC日志。
-Xloggc:/dev/shm/rmq_srv_gc_%p_%t.log:将GC日志输出到/dev/shm/rmq_srv_gc_%p_%t.log文件中。
-XX:+PrintGCDetails:打印GC详细信息。
-XX:+PrintGCDateStamps:打印GC时间戳。
-XX:+PrintGCApplicationStoppedTime:打印应用程序停止时间。
-XX:+PrintAdaptiveSizePolicy:打印自适应策略的信息。
-XX:+UseGCLogFileRotation:启用GC日志文件轮换。
-XX:NumberOfGCLogFiles=5:GC日志文件轮换时保留的文件数目。
-XX:GCLogFileSize=30m:GC日志文件的大小为30M。
-XX:-OmitStackTraceInFastThrow:关闭快速抛出异常时的栈信息。
-XX:+AlwaysPreTouch:在JVM启动时预先分配堆内存。
-XX:MaxDirectMemorySize=15g:最大直接内存大小为15G。
-XX:-UseLargePages:不使用大页面。
-XX:-UseBiasedLocking:不使用偏向锁。
-Drocketmq.client.logUseSlf4j=true:使用SLF4J作为日志框架。
-c ../conf/broker.conf:指定Broker的配置文件路径。