|
目錄 JVM參數(shù)標準參數(shù)-version -help -server -cp -X參數(shù)非標準參數(shù),在JDK各個版本中可能會變動 -Xint 解釋執(zhí)行 -Xcomp 第一次使用就編譯成本地代碼 -Xmixed 混合模式,JVM自己來決定 -XX參數(shù)使用最多的參數(shù)類型,非標準化參數(shù),主要用于JVM調(diào)優(yōu) 1.Boolean類型 格式:-XX:[ -]<name> 或-表示啟用或者禁用name屬性 例子:-XX:UseConcMarkSweepGC 表示啟用CMS類型的垃圾回收器 ,-XX: UseG1GC 表示啟用G1類型的垃圾回收器 2.非Boolean類型 格式: -XX<name>=<value> 表示name屬性的值是value 例子:-XX:MaxGCPauseMillis=500 表示最大停頓時間 查看參數(shù)java -XX: PrintFlagsFinal -version > flags.txt 注意:“=”表示默認 “:=”表示被用戶或JVM修改后的值 設置參數(shù)的方式
常用參數(shù)含義常用命令jps 查看java進程
jinfo(1)實時查看和調(diào)整JVM配置參數(shù) (2)查看 jinfo -flag name PID 查看某個java經(jīng)常的name屬性值 jinfo -flag MaxHeapSize PID jinfo- flag UseG1GC PID (3)修改 參數(shù)只有被標記為manageable的flags可以被實時修改 jinfo -flag [ |-] PID jinfo -flag = PID (4)查看曾經(jīng)賦值的一些參數(shù) jinfo -flags PIDjstat(1)查看虛擬機性能的統(tǒng)計信息 (2)查看類裝載信息 jstat -class PID 1000 10次 ->查看某個java進程的類裝載信息,每1000毫秒輸出一次,共輸出10 (3)查看垃圾收集信息 jstat -gc PID 1000 10 jstack(1)查看線程堆棧信息 (2)用法: jstack PID (3)排查死鎖 jmap(1)生成堆轉儲快照 (2)打印出堆內(nèi)存相關信息 jmap-heap PID (3)dump出堆內(nèi)存相關信息 jmap -dump:format=b,file=heap.hprof PID (4)堆溢出的時候自動dump出該文件 -XX: HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof 一般dump下來的文件可以結合工具來分析常用工具jconsolejvisualvm可監(jiān)控本地和遠端 ArthasArthas 是Alibaba開源的Java診斷工具,采用命令行交互模式,是排查jvm相關問題的利器。MATJava堆分析器,用于查找內(nèi)存泄漏 Heap Dump,稱為堆轉儲文件,是Java進程在某個時間內(nèi)的快照。它在觸發(fā)快照的時候保存了很多信息:Java對象和類信息。 通常在寫Heap Dump文件前會觸發(fā)一次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 |
|
|