目录
-version -help -server -cp
非标准参数,在JDK各个版本中可能会变动
-Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定
使用最多的参数类型,非标准化参数,主要用于JVM调优
1.Boolean类型
格式:-XX:[ -]<name> 或-表示启用或者禁用name属性
例子:-XX:UseConcMarkSweepGC 表示启用CMS类型的垃圾回收器 ,-XX: UseG1GC 表示启用G1类型的垃圾回收器
2.非Boolean类型
格式: -XX<name>=<value> 表示name属性的值是value
例子:-XX:MaxGCPauseMillis=500 表示最大停顿时间
java -XX: PrintFlagsFinal -version > flags.txt
注意:“=”表示默认 “:=”表示被用户或JVM修改后的值
开发工具中设置,比如IDEA, eclipse
运行jar包的时候:java -XX: UseG1GC xxx.jar
web容器比如Tomcat,可以再脚本中进行设置
通过jinfo实时调整某个java进程的参数(仅被标记为manageable的flags可以被实时修改)
(1)实时查看和调整JVM配置参数
(2)查看 jinfo -flag name PID 查看某个java经常的name属性值
jinfo -flag MaxHeapSize PID jinfo- flag UseG1GC PID(3)修改参数只有被标记为manageable的flags可以被实时修改jinfo -flag [ |-] PID jinfo -flag = PID(4)查看曾经赋值的一些参数jinfo -flags PID(1)查看虚拟机性能的统计信息
(2)查看类装载信息 jstat -class PID 1000 10次 ->查看某个java进程的类装载信息,每1000毫秒输出一次,共输出10
(3)查看垃圾收集信息 jstat -gc PID 1000 10
(1)查看线程堆栈信息
(2)用法: jstack PID
(3)排查死锁
(1)生成堆转储快照
(2)打印出堆内存相关信息
jmap-heap PID(3)dump出堆内存相关信息 jmap -dump:format=b,file=heap.hprof PID(4)堆溢出的时候自动dump出该文件 -XX: HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof一般dump下来的文件可以结合工具来分析可监控本地和远端
拿到GC日志文件
-XX: PrintGCDetails -XX: PrintGCTimeStamps -XX: PrintGCDateStamps -Xloggc:$CATALINA_HOME/logs/gc.log在线的有 gceasy GCViewer
联系客服