目录 JVM参数标准参数-version -help -server -cp -X参数非标准参数,在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 -XX参数使用最多的参数类型,非标准化参数,主要用于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修改后的值 设置参数的方式
常用参数含义常用命令jps 查看java进程jinfo(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 PIDjstat(1)查看虚拟机性能的统计信息 (2)查看类装载信息 jstat -class PID 1000 10次 ->查看某个java进程的类装载信息,每1000毫秒输出一次,共输出10 (3)查看垃圾收集信息 jstat -gc PID 1000 10 jstack(1)查看线程堆栈信息 (2)用法: jstack PID (3)排查死锁 jmap(1)生成堆转储快照 (2)打印出堆内存相关信息 jmap-heap PID (3)dump出堆内存相关信息 jmap -dump:format=b,file=heap.hprof PID (4)堆溢出的时候自动dump出该文件 -XX: HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof 一般dump下来的文件可以结合工具来分析常用工具jconsolejvisualvm可监控本地和远端 ArthasArthas 是Alibaba开源的Java诊断工具,采用命令行交互模式,是排查jvm相关问题的利器。MATJava堆分析器,用于查找内存泄漏 Heap Dump,称为堆转储文件,是Java进程在某个时间内的快照。它在触发快照的时候保存了很多信息:Java对象和类信息。 通常在写Heap Dump文件前会触发一次Full GC。下载地址:https://www./mat/downloads.phpGC日志分析工具拿到GC日志文件 -XX: PrintGCDetails -XX: PrintGCTimeStamps -XX: PrintGCDateStamps -Xloggc:$CATALINA_HOME/logs/gc.log在线的有 gceasy GCViewer 来源:https://www./content-4-658751.html |
|