天天看點

常用JDK指令

  • **檢視pid **

    pidof java

    jps -l

  • 檢視類的一些資訊,如位元組碼的版本号、常量池等。

    javap -verbose [className ]

  • 檢視JVM 程序。

    jps

    jcmd -1

  • 檢視程序的GC 情況。

    jstat -gcutil [pid] #顯示總體情況

    jstat -gc [pid] 1000 10 #每隔1 秒重新整理l 次,一共10 次

  • 檢視JVM 堆記憶體使用狀況。

    jmap -heap [pid]

  • 檢視JVM 永久代使用狀況。

    jmap -permstat [pid] #适用于Java 6 、7

    jmap -c lstats [pid] #Java 8 沒有永久代,這裡可以列印類加載器的狀況

  • 檢視JVM 記憶體中存活的對象。

    jmap -histo:live [pid]

  • 先做一次Full GC ,再dump , 隻包含仍然存活的對象資訊

    jcmd [PID] GC.heap_dump [FILENAME]

    jmap -dump : format=b , live , file=xxx . hprof [pid]

  • 線程dump

    jstack [pid] #-m 參數可以列印出n ative 校的資訊

    jcmd [pid] Thread.print

    kill -3 [pid] (在日志檔案中輸出)

  • 檢視JVM 啟動的參數。

    jinfo -flags [pid] #檢視有效參數

    jcmd [pid] VM.flags #檢視所有參數

  • 檢視對應參數的值。

    jinfo -flag [flagName] [pid]

  • 啟用/禁止某個參數。

    jinfo -flag [+/-) [flagName) [pid)