前言
在开发过程中遇到需要查看JVM参数. 以及使用的GC垃圾回收器的类型. 本次将其记录于此.
方法1 查看默认设置
使用java -XX:+PrintCommandLineFlags -version
即可.
localhost:redis sean$ java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=134217728 -XX:MaxHeapSize=2147483648 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
UseParallelGC
: 其中使用的垃圾回收器为JDK1.8 .UseParallelGC
表示在年轻代使用ParallelGC
老年代使用ParallelOld
.
方法2 使用jinfo命令查看指定线程参数
jps -lm
: 查看当前指定进程号.jinfo -flags <pid>
: 查看某个Java进程使用的JVM参数.
# jps
localhost:redis sean$ jps -lm
1969 sun.tools.jps.Jps -lm
1777 com.yanxml.redis.cluster.TestJava
1506
# jinfo
localhost:redis sean$ jinfo -flags 1777
Attaching to process ID 1777, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.102-b14
Non-default VM flags: -XX:CICompilerCount=3 -XX:InitialHeapSize=134217728 -XX:MaxHeapSize=576716800 -XX:MaxNewSize=191889408 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=44564480 -XX:OldSize=89653248 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC
Command line: -Xmx550m -javaagent:/Users/sean/Software/IDEA/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=51235:/Users/sean/Software/IDEA/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
示例程序及参数
package com.yanxml.redis.cluster;
public class TestJava {
public static void main(String[] args) throws InterruptedException {
Thread.sleep(1000*1000);
}
}
Reference
[1]. 如何查看正在运行中的JVM采用哪种GC算法策略
[2] JVM垃圾回收查看、分析和设置
[3] JVM学习笔记3:GC日志和常用命令工具
Others
Java垃圾收集器——Parallel、G1收集器日志分析及性能调优示范
JVM调优总结 -Xms -Xmx -Xmn -Xss
GC四种类型
java 默认参数_查看JVM默认参数值命令