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