注:文中冒号均为中文,复制粘贴时注意。
命令区分大小写 XX 与xx是不一样的。
-Xss规定了每个线程堆栈的大小。一般情况下256K是足够了。影响了此进程中并发线程数大小。
-Xms初始的Heap的大小。等价于 -XX:InitialHeapSize
-Xmx最大Heap的大小。等价于 -XX:MaxHeapSize
在很多情况下,-Xms和-Xmx设置成一样的。这么设置,是因为当Heap不够用时,会发生内存抖动,影响程序运行稳定性。
-XX:MetaspaceSize=25m 设置元空间25m,-XX:MaxMetaspace=25m
jps 查看java 进程
jinfo -flag [pid] 查看指定的VM flag 例如查看123进程所在VM是否开启 PrintGCDetails 属性 :jinfo -flag PrintGCDetails 123
结果 -XX : -PrintGCDetails
说明没有开启 - 为关闭 + 为开启
jinfo -flags [pid] 查看该进程所有参数
java -XX:+PrintFlagsInitial 获取VM初始化参数
其中可能出现‘=’号前有‘:’号的情况
这说明有冒号的是被人为修改过初始值
java -XX:+PrintFlagsFinal -version 在运行命令的同时打印VM Flags
java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512M T 动态的将类T所在的元空间设置为512M
java -XX:+PrintCommandLineFlags -version 可以查看常用的VM信息
部署服务器时使用
java -server -JVM参数
比如 java -server -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -Xms128m -Xmx512m -jar paper.jar