System.setProperty("XX:-XX:+PrintGCDetails", "true"); 有语法问题吗
时间: 2023-12-03 20:02:19 浏览: 21
有语法问题。应该是:
```
System.setProperty("XX:+PrintGCDetails", "true");
```
`XX:-`是用于关闭某个JVM参数,而`XX:+`是用于开启某个JVM参数。在这里我们需要开启`PrintGCDetails`参数,因此需要使用`XX:+`。
相关问题
System.setProperty("XX:-XX:+PrintGCDetails", "true"); 什么意思
这行代码是用来设置 JVM 的启动参数,具体含义如下:
- `-XX` 表示设置 JVM 的某些参数。
- `:-` 表示关闭某个参数。
- `:+` 表示开启某个参数。
- `PrintGCDetails` 是一个 JVM 参数,用来在控制台输出 GC 的详细信息。
- `true` 是将 `PrintGCDetails` 参数设置为开启状态。
因此,这行代码的含义是:在 JVM 启动时,关闭 `PrintGCDetails` 参数,并将其设置为开启状态,从而在控制台输出 GC 的详细信息。
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. 其他的配置项看起来没有问题,但请确保这些配置与你的应用程序和服务器的需求相符合。
需要注意的是,这只是对配置文件的简单检查,具体的配置是否合适还需要根据你的应用程序和服务器的实际情况来确定。