JVM虛擬機學習(5)---JDK常用工具(二)

目錄頁:https://mp.csdn.net/postedit/95937156

1. 常用的命令行工具

  1.1. jinfo

    jinfo常用於查看或設置JVM參數,執行jinfo -help查看命令格式。

參數:

  • pid:進程號
  • executable core 產生core dump文件
  • [server-id@]remote server IP or hostname 遠程的ip或者hostname,server-id標記服務的唯一性id

option:

  • -flag name 輸出對應名稱的參數
  • -flag [+|-]name 開啓或者關閉對應名稱的參數
  • -flag name=value 設定對應名稱的參數
  • -flags 輸出全部的參數
  • -sysprops 輸出系統屬性
  • no option 輸出全部的參數和系統屬性

1.1.1. jinfo pid

    jinfo pid命令用於查看進程的全部參數和系統屬性,會打出較多的參數信息。

  1.1.2. jinfo -flag name pid

    輸出對應名稱的參數,可以查看指定的 jvm 參數的值,減號代表該參數未生效,加號代表生效。

  1.1.3. jinfo flag [+|-]name pid

    開啓或者關閉對應名稱的參數,常用於無法重啓線上應用時又需要添加啓動參數。

  1.1.4. jinfo -flag name=value

    如果JVM啓動參數是value值,需要使用該命令修改指定參數的值。

  1.1.5. jinfo -flags pid

    輸出進程全部JVM參數

  1.2. jmap

    當出現頻繁gc時我們會使用jmap dump出程序的內存佔用信息,也會使用該命令查看堆信息。

參數:

  • executable: 產生核心dump的Java可執行文件。
  • core: 需要打印配置信息的核心文件。
  • server-id 可選的唯一id,如果相同的遠程主機上運行了多臺調試服務器,用此選項參數標識服務器。
  • remote server IP or hostname 遠程調試服務器的IP地址或主機名。

下面介紹主要使用的方法

  1.2.1. jmap -heap pid

    用於查看java進程堆內存信息。

  1.2.2. jmap -dump:format=b,file=heapdump.phrof pid

    這是我們發現程序內存溢出或頻繁gc時經常使用的一個命令,用於生成堆轉儲快照dump文件,需要注意的是執行過程中會暫停應用,線上系統慎用。導出dump文件後可以使用MAT工具進行分析。鏈接:

https://download.csdn.net/download/u011294519/11796613

  1.3. jstack

    jstack命令我們經常用於查看進程的線程狀態

    jstack -l pid > file.txt

2. 思維導圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章