jstat命令詳解

jstat 用于監視虛擬機運行時狀態信息的命令,它可以顯示出虛擬機進程中的類裝載、內存、垃圾收集、JIT 編譯等運行數據。

命令的使用格式如下。

jstat [option] LVMID [interval] [count]

各個參數詳解:

  • option:操作參數
  • LVMID:本地虛擬機進程ID
  • interval:連續輸出的時間間隔
  • count:連續輸出的次數

option 參數內容詳解!

option 參數注釋
classclass loader的行為統計
compilerHotSpt JIT編譯器行為統計
gc垃圾回收堆的行為統計
gccapacity各個垃圾回收代容量和他們相應的空間統計
gcutil垃圾回收統計概述
gccause垃圾收集統計概述(同-gcutil),附加最近兩次垃圾回收事件的原因
gcnew新生代行為統計
gcnewcapacity新生代與其相應的內存空間的統計
gcold年老代和永生代行為統計
gcoldcapacity年老代行為統計
gcmetacapacity元空間行為統計
printcompilationHotSpot編譯方法統計

option 參數使用如下。

1、示例參數:class

-class參數用于監視類裝載、卸載數量、總空間以及耗費的時間。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -class 20094
Loaded  Bytes  Unloaded  Bytes     Time12988 23508.0        0     0.0      30.21

各個參數解讀如下:

  • Loaded : 加載class的數量
  • Bytes : class字節大小
  • Unloaded : 未加載class的數量
  • Bytes : 未加載class的字節大小
  • Time : 加載時間
2、示例參數:compiler

-compiler參數用于輸出 JIT 編譯過的方法數量耗時等。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -compiler 20094
Compiled Failed Invalid   Time   FailedType FailedMethod14524      5       0    43.33          1 org/springframework/core/annotation/AnnotationsScanner processMethodHierarchy

各個參數解讀如下:

  • Compiled : 編譯數量
  • Failed : 編譯失敗數量
  • Invalid : 無效數量
  • Time : 編譯耗時
  • FailedType : 失敗類型
  • FailedMethod : 失敗方法的全限定名
3、示例參數:gc

-gc參數用于垃圾回收堆的行為統計,屬于常用命令。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gc 20094S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
18432.0 18944.0  0.0   10133.7 281088.0 197255.5  139776.0   55324.5   70420.0 66352.5 9020.0 8405.8     25    0.599   3      0.673    1.273

其中 C 表示 Capacity 總容量,U 表示 Used 已使用的容量。

各個參數解讀如下:

  • S0C:survivor0區的總容量
  • S1C:survivor1區的總容量
  • S0U:survivor0區已使用的容量
  • S1U:survivor1區已使用的容量
  • EC:Eden區的總容量
  • EU:Eden區已使用的容量
  • OC:Old區的總容量
  • OU:Old區已使用的容量
  • MC:泛指Metaspace區的總容量
  • MU:泛指Metaspace區已使用的容量
  • CCSC:泛指類壓縮空間(Compressed class space,屬于Metaspace區的一部分)的總容量
  • CCSU:泛指類壓縮空間(Compressed class space,屬于Metaspace區的一部分)已使用的容量
  • YGC:新生代GC次數
  • YGCT:新生代GC總耗時
  • FGC:Full GC次數
  • FGCT:Full GC總耗時
  • GCT:GC總耗時

還可以通過如下方式,來詳細的監控 gc 回收情況,示例如下。

jstat -gc 20094 2000 20

以上的命令表示每隔 2000ms 輸出進程號為 7140 的 gc 回收情況,一共輸出 20次。

輸出部分內容如下!

圖片

4、示例參數:gccapacity

-gccapacity參數和-gc一樣,不過還會輸出 Java 堆各區域使用到的最大、最小空間。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gccapacity 20094NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC43520.0 698880.0 355840.0 18432.0 18944.0 281088.0    87552.0  1398272.0   139776.0   139776.0      0.0 1110016.0  70420.0      0.0 1048576.0   9020.0     25     3

各個參數解讀如下:

  • NGCMN : 新生代占用的最小空間
  • NGCMX : 新生代占用的最大空間
  • NGC:當前新生代的容量
  • OGCMN : 老年代占用的最小空間
  • OGCMX : 老年代占用的最大空間
  • OGC:當前老年代的容量
  • MCMN : Metaspace區占用的最小空間
  • MCMX : Metaspace區占用的最大空間
  • MC:當前Metaspace區的容量
  • CCSMN : Compressed class space區占用的最小空間
  • CCSMX : Compressed class space區占用的最大空間
  • CCSC:當前Compressed class space區的容量
5、示例參數:gcutil

-gcutil參數同-gc,不過輸出的是已使用空間占總空間的百分比。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gcutil 20094S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT0.00  53.49  91.96  39.58  94.22  93.19     25    0.599     3    0.673    1.273
6、示例參數:gccause

-gccause參數用于垃圾收集統計概述(同-gcutil),附加最近兩次垃圾回收事件的原因。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gccause 20094S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC0.00  53.49  92.65  39.58  94.22  93.19     25    0.599     3    0.673    1.273 Allocation Failure   No GC

各個參數解讀如下:

  • LGCC:最近垃圾回收的原因
  • GCC:當前垃圾回收的原因
7、示例參數:gcnew

-gcnew參數用于統計新生代的行為。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gcnew 20094S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
18432.0 18944.0    0.0 10133.7  2  15 18432.0 281088.0 265231.7     25    0.599

各個參數解讀如下:

  • TT:Tenuring threshold(提升閾值)
  • MTT:最大的tenuring threshold
  • DSS:survivor區域大小 (KB)
8、示例參數:gcnewcapacity

-gcnewcapacity參數用于新生代與其相應的內存空間的統計。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gcnewcapacity 20094NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC43520.0   698880.0   355840.0 232960.0  18432.0 232960.0  18944.0   697856.0   281088.0    25     3

各個參數解讀如下:

  • S0CMX:最大的S0空間 (KB)
  • S0C:當前S0區的容量 (KB)
  • ECMX:最大eden空間 (KB)
  • EC:當前eden區的容量 (KB)
9、示例參數:gcold

-gcold參數用于統計老年代的行為。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gcold 20094MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT70420.0  66352.5   9020.0   8405.8    139776.0     55324.5     25     3    0.673    1.273
10、示例參數:gcoldcapacity

-gcoldcapacity參數用于統計老年代的大小和空間。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gcoldcapacity 20094OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT87552.0   1398272.0    139776.0    139776.0    25     3    0.673    1.273
11、示例參數:gcmetacapacity

-gcmetacapacity參數用于統計元空間的大小和空間。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -gcmetacapacity 20094MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT0.0  1112064.0    72468.0        0.0  1048576.0     9276.0    26     3    0.673    1.513
12、示例參數:printcompilation

-printcompilation參數用于HotSpot編譯方法統計。

在操作系統終端輸入如下命令,即可查看相關信息,示例如下。

$ jstat -printcompilation 20094
Compiled  Size  Type Method4387    123    1 org/apache/catalina/core/StandardContext getLoader

各個參數解讀如下:

  • Compiled:被執行的編譯任務的數量
  • Size:方法字節碼的字節數
  • Type:編譯類型
  • Method:編譯方法的類名和方法名。類名使用”/” 代替 “.” 作為空間分隔符. 方法名是給出類的方法名

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67599.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67599.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67599.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

App.Current.Services.GetService<UserView>()無限循環

代碼無線循環 public partial class UserView : UserControl{public UserView(){InitializeComponent();InitData();}private void InitData(){DataContext App.Current.Services.GetService<UserView>();}} } DataContext App.Current.Services.GetService<User…

(動態規劃路徑基礎 最小路徑和)leetcode 64

視頻教程 1.初始化dp數組&#xff0c;初始化邊界 2、從[1行到n-1行][1列到m-1列]依次賦值 #include<vector> #include<algorithm> #include <iostream>using namespace std; int main() {vector<vector<int>> grid { {1,3,1},{1,5,1},{4,2,1}…

松靈機器人 scout ros2 驅動 安裝

必須使用 ubuntu22 必須使用 鏈接的humble版本 #打開can 口 sudo modprobe gs_usbsudo ip link set can0 up type can bitrate 500000sudo ip link set can0 up type can bitrate 500000sudo apt install can-utilscandump can0mkdir -p ~/ros2_ws/srccd ~/ros2_ws/src git cl…

pytorch基于GloVe實現的詞嵌入

PyTorch 實現 GloVe&#xff08;Global Vectors for Word Representation&#xff09; 的完整代碼&#xff0c;使用 中文語料 進行訓練&#xff0c;包括 共現矩陣構建、模型定義、訓練和測試。 1. GloVe 介紹 基于詞的共現信息&#xff08;不像 Word2Vec 使用滑動窗口預測&…

C++ 堆棧分配的區別

這兩種聲明方式有什么區別 1.使用 new 關鍵字動態分配內存 動態分配&#xff1a;使用 new 關鍵字會在堆&#xff08;heap&#xff09;上分配內存&#xff0c;并返回一個指向該內存位置的指針。生命周期&#xff1a;對象的生命周期不會隨著聲明它的作用域結束而結束&#xff0…

深入解析 Linux 內核中的頁面錯誤處理機制

在現代操作系統中,頁面錯誤(Page Fault)是內存管理的重要組成部分。當程序試圖訪問未映射到物理內存的虛擬內存地址時,CPU 會觸發頁面錯誤異常。Linux 內核通過一系列復雜的機制來處理這些異常,確保系統的穩定性和性能。本文將深入解析 Linux 內核中處理頁面錯誤的核心代碼…

MATLAB-Simulink并行仿真示例

一、概述 在進行simulink仿真的過程中常常遇到CPU利用率較低&#xff0c;仿真緩慢的情況&#xff0c;可以借助并行仿真改善這些問題&#xff0c;其核心思想是將參數掃描、蒙特卡洛分析或多工況驗證等任務拆分成多個子任務&#xff0c;利用多核CPU或計算集群的并行計算能力&…

Workbench 中的熱源仿真

探索使用自定義工具對移動熱源進行建模及其在不同行業中的應用。 了解熱源動力學 對移動熱源進行建模為各種工業過程和應用提供了有價值的見解。激光加熱和材料加工使用許多激光束來加熱、焊接或切割材料。盡管在某些情況下&#xff0c;熱源 &#xff08;q&#xff09; 不是通…

I2C基礎知識

引言 這里祝大家新年快樂&#xff01;前面我們介紹了串口通訊協議&#xff0c;現在我們繼續來介紹另一種常見的簡單的串行通訊方式——I2C通訊協議。 一、什么是I2C I2C 通訊協議&#xff08;Inter-Integrated Circuit&#xff09;是由Phiilps公司在上個世紀80年代開發的&#…

深度學習 DAY3:NLP發展史

NLP發展史 NLP發展脈絡簡要梳理如下&#xff1a; (遠古模型&#xff0c;上圖沒有但也可以算NLP&#xff09; 1940 - BOW&#xff08;無序統計模型&#xff09; 1950 - n-gram&#xff08;基于詞序的模型&#xff09; (近代模型&#xff09; 2001 - Neural language models&am…

CSS 背景與邊框:從基礎到高級應用

CSS 背景與邊框&#xff1a;從基礎到高級應用 1. CSS 背景樣式1.1 背景顏色示例代碼&#xff1a;設置背景顏色 1.2 背景圖像示例代碼&#xff1a;設置背景圖像 1.3 控制背景平鋪行為示例代碼&#xff1a;控制背景平鋪 1.4 調整背景圖像大小示例代碼&#xff1a;調整背景圖像大小…

HarmonyOS簡介:應用開發的機遇、挑戰和趨勢

問題 更多的智能設備并沒有帶來更好的全場景體驗 連接步驟復雜數據難以互通生態無法共享能力難以協同 主要挑戰 針對不同設備上的不同操作系統&#xff0c;重復開發&#xff0c;維護多套版本 多種語言棧&#xff0c;對人員技能要求高 多種開發框架&#xff0c;不同的編程…

【Linux】列出所有連接的 WiFi 網絡的密碼

【Linux】列出所有連接的 WiFi 網絡的密碼 終端輸入 sudo grep psk /etc/NetworkManager/system-connections/*會列出所有連接過 Wifi 的信息&#xff0c;格式類似 /etc/NetworkManager/system-connections/AAAAA.nmconnection:pskBBBBBAAAAA 是 SSID&#xff0c;BBBBB 是對…

如何使用tushare pro獲取股票數據——附爬蟲代碼以及tushare積分獲取方式

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據 總結 一、Tushare 介紹 Tushare 是一個提供中國股市數據的API接口服務&#xff0c;它允許用戶…

觀察者模式和訂閱發布模式的關系

有人把觀察者模式等同于發布訂閱模式&#xff0c;也有人認為這兩種模式存在差異&#xff0c;本質上就是調度的方法不同。 發布訂閱模式: 觀察者模式: 相比較&#xff0c;發布訂閱將發布者和觀察者之間解耦。&#xff08;發布訂閱有調度中心處理&#xff09;

linux 環境安裝 dlib 的 gpu 版本

默認使用 pip 安裝的 dlib 是不使用 gpu 的 在國內社區用百度查如何安裝 gpu 版本的 dlib 感覺信息都不太對&#xff0c;都是說要源碼編譯還有點復雜 還需要自己安裝 cuda 相關的包啥的&#xff0c;看著就頭大 于是想到這個因該 conda 自己就支持了吧&#xff0c;然后查了一下…

【HarmonyOS之旅】基于ArkTS開發(三) -> 兼容JS的類Web開發(二)

目錄 1 -> HML語法 1.1 -> 頁面結構 1.2 -> 數據綁定 1.3 -> 普通事件綁定 1.4 -> 冒泡事件綁定5 1.5 -> 捕獲事件綁定5 1.6 -> 列表渲染 1.7 -> 條件渲染 1.8 -> 邏輯控制塊 1.9 -> 模板引用 2 -> CSS語法 2.1 -> 尺寸單位 …

三路排序算法

三路排序算法 引言 排序算法是計算機科學中基礎且重要的算法之一。在數據分析和處理中&#xff0c;排序算法的效率直接影響著程序的執行速度和系統的穩定性。本文將深入探討三路排序算法&#xff0c;包括其原理、實現和應用場景。 一、三路排序算法的原理 三路排序算法是一…

Python的那些事第五篇:數據結構的藝術與應用

新月人物傳記&#xff1a;人物傳記之新月篇-CSDN博客 目錄 一、列表&#xff08;List&#xff09;&#xff1a;動態的容器 二、元組&#xff08;Tuple&#xff09;&#xff1a;不可變的序列 三、字典&#xff08;Dict&#xff09;&#xff1a;鍵值對的集合 四、集合&#xf…

【AI】DeepSeek 概念/影響/使用/部署

在大年三十那天&#xff0c;不知道你是否留意到&#xff0c;“deepseek”這個詞出現在了各大熱搜榜單上。這引起了我的關注&#xff0c;出于學習的興趣&#xff0c;我深入研究了一番&#xff0c;才有了這篇文章的誕生。 概念 那么&#xff0c;什么是DeepSeek&#xff1f;首先百…