2、非标准指令:-X开头,这些指令通常是跟特定的HotSpot版本对应的,可以用java -X打印出来 3、 不稳定参数:-XX开头,这一类参数是跟特定的HotSpot 版本对应,并且变化比较大,不推荐生产环境使用。 如果你想查看当前应用使用的JVM参数,你可以使用:ManagementFactory.getRuntimeMXBean().getInputArguments(); 二、常用的...
-l:输出主类全名或jar路径-q:只输出LVMID-m:输出JVM启动时传递给 main() 的参数-v:输出JVM启动时显示指定的JVM参数 在操作系统终端输入如下命令,即可查看 Java 相关的服务进程,示例如下。$ jps -l -m6628 sun.tools.jps.Jps -l -m20094 springboot-example-web.jar --server.port=80 不带参数的显...
将新对象预留在新生代,由于 Full GC 的成本远高于 Minor GC,因此尽可能将对象分配在新生代是明智的做法,实际项目中根据 GC 日志分析新生代空间大小分配是否合理,适当通过“-Xmn”命令调节新生代大小,最大限度降低新对象直接进入老年代的情况。 3、JVM的栈参数调优 3.1、 调整每个线程栈空间的大小 可以通过-Xss:调...
①栈大小参数为-Xss 栈大小通常只有几百k,决定于函数调用的深度。每个线程都有自己独立的栈空间(私有栈空间,不共享)。如果函数调用太深,超过了栈的大小,则会抛出java.lang.StackOverflowError。遇到这种错误,通常情况下,不是去调整-Xss参数,而是应该去检查是否是函数调用太深导致的,是否使用了递归,能不能保证递归出...
Runtime.getRuntime().totalMemory(); //获取已使用内存 1. 2. 3. 4. 2、配置参数 -XX:+PrintGCDetails 代码执行完后会打印内存相关的日志信息 3、配置参数 -XX:+PrintCommandLineFlags,可查询jvm信息 包括 初始堆大小(InitialHeapSize)、最大堆内存大小(MaxHeapSize)、垃圾收集器(UseSerialGC)...
非标准化参数,相对不稳定,主要用于JVM调优和Debug,使用频率最高的参数。 Boolean类型 格式:-XX:[+-]name +或-表示启用或者禁用name属性比如: -XX:+UseConcMarkSweepGC表示启用CMS类型的垃圾回收器-XX:+UseG1GC表示启用G1类型的垃圾回收器 非Boolean类型 ...
1、JVM三种参数类型 标准参数。如 -version、-help X参数。如 -Xms、-Xmx XX参数。如-XX:+PrintGC 2、XX参数数值类型 布尔类型。如-XX:+PrintGCDetails,其中 + 和 - 分别表示开启/关闭某个属性,PrintGCDetails表示打印GC详情 KV设值类型。如-XX:NewSize=256M,设置年轻代空间大小为256M ...
按照参数开头分 根据jvm参数开头可以区分参数类型,共三类:“-”、“-X”、“-XX”; 标准参数(-):所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 例子:-verbose:class,-verbose:gc,-verbose:jni…… 非标准参数(-X):默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; ...
一、jvm参数分类 根据jvm参数开头可以区分参数类型,共三类:“-”、“-X”、“-XX”,标准参数(-):所有的JVM实现都必须实现这些参数的功能,而且向后兼容;例子:-verbose:class,-verbose:gc,-verbose:jni……非标准参数(-X):默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后...
1、堆内存配置参数 有时候我们需要根据GC的情况实时情况,动态调整各个区域的大小,所以会配置JVM内存各个区域的内存大小是我们经常会用到的配置参数。 //设置堆初始值指令1:-Xms2g指令2:-XX:InitialHeapSize=2048m//设置堆区最大值指令1:`-Xmx2g`指令2:-XX:MaxHeapSize=2048m//设置线程栈的大小指令1...