jstat命令查看jvm的GC信息

文章目錄

  • 前言
    • jstat命令查看jvm的GC信息
      • 1. 概述
      • 2. 應用堆內存水位閥值大小怎么確定
      • 3. 使用 jps 命令查看 Java 進程的進程號(PID)![在這里插入圖片描述](https://img-blog.csdnimg.cn/direct/5097401443314e9d808a83b694dbc6e5.png)
      • 4. jstat用法
      • 5. 類加載統計
      • 6. 編譯統計
      • 7. 垃圾回收統計
      • 8. 堆內存統計
      • 9.新生代垃圾回收統計
      • 10. 新生代內存統計
      • 11. 老年代垃圾回收統計
      • 12. 老年代內存統計
      • 13. JVM編譯方法統計

前言

??如果您覺得有用的話,記得給博主點個贊,評論,收藏一鍵三連啊,寫作不易啊^ _ ^。
??而且聽說點贊的人每天的運氣都不會太差,實在白嫖的話,那歡迎常來啊!!!


jstat命令查看jvm的GC信息

1. 概述

Jstat是JDK自帶的一個輕量級小工具。全稱“Java Virtual Machine statistics monitoring tool”,它位于java的bin目錄下,主要利用JVM內建的指令對Java應用程序的資源和性能進行實時的命令行的監控,包括了對Heap size和垃圾回收狀況的監控。

2. 應用堆內存水位閥值大小怎么確定

關于堆內存的水位信息通常有三個值:S0C (Survivor 0 Capacity),S1C (Survivor 1 Capacity),和 EC (Eden Capacity)。這些值表示了堆內存的容量。
一般來說,你可能會關注以下幾個方面

  1. Eden 區的使用率: 如果 Eden 區的使用率較高,可能會導致頻繁的 Minor GC。你可以通過監控 Eden 區的使用情況來判斷是否需要調整堆內存大小,以減少 Minor GC 的頻率。
  2. 幸存者區的使用率: 如果幸存者區的使用率過高,可能會導致對象在幸存者區之間頻繁移動,增加 Full GC 的可能性。你可以通過監控幸存者區的使用情況來調整相關參數,例如增大幸存者區的大小。
  3. 堆內存的總體使用情況: 關注整個堆內存的使用情況,確保沒有發生過多的 Full GC,因為 Full GC 會導致應用程序的停頓。

根據應用的具體情況,你可能需要調整堆內存的大小、調整新生代和老年代的比例,或者使用一些 JVM 參數進行優化。在調整這些參數時,建議進行仔細的性能測試,以確保調整的效果符合預期。

3. 使用 jps 命令查看 Java 進程的進程號(PID)在這里插入圖片描述

4. jstat用法

jstat命令可以查看堆內存各部分的使用量,以及加載類的數量。命令的格式如下:

jstat [-命令選項] [vmid] [間隔時間/毫秒] [查詢次數]

[root@cwgkxtts-vm01 ~]# jstat -options
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation
option: 參數選項-t: 可以在打印的列加上Timestamp列,用于顯示系統運行的時間
-h: 可以在周期性數據數據的時候,可以在指定輸出多少行以后輸出一次表頭
vmid: Virtual Machine ID( 進程的 pid)
interval: 執行每次的間隔時間,單位為毫秒
count: 用于指定輸出多少次記錄,缺省則會一直打印

5. 類加載統計

[root@cwgkxtts-vm01 ~]# lsof -i:17001

在這里插入圖片描述

[root@cwgkxtts-vm01 ~]# jstat -class 49101

在這里插入圖片描述

§  Loaded:加載class的數量
§  Bytes:所占用空間大小
§  Unloaded:未加載數量
§  Bytes:未加載占用空間
§  Time:時間

6. 編譯統計

[root@cwgkxtts-vm01 ~]# lsof -i:17001

在這里插入圖片描述

[root@cwgkxtts-vm01 ~]# jstat -compiler 49101
在這里插入圖片描述

§  Compiled:編譯數量。
§  Failed:失敗數量
§  Invalid:不可用數量
§  Time:時間
§  FailedType:失敗類型
§  FailedMethod:失敗的方法

7. 垃圾回收統計

[root@cwgkxtts-vm01 ~]# lsof -i:17001

在這里插入圖片描述

[root@cwgkxtts-vm01 ~]# jstat -gc 49101

在這里插入圖片描述

§  S0C:第一個幸存區的大小
§  S1C:第二個幸存區的大小
§  S0U:第一個幸存區的使用大小
§  S1U:第二個幸存區的使用大小
§  EC:伊甸園區的大小
§  EU:伊甸園區的使用大小
§  OC:老年代大小
§  OU:老年代使用大小
§  MC:方法區大小
§  MU:方法區使用大小
§  CCSC:壓縮類空間大小
§  CCSU:壓縮類空間使用大小
§  YGC:年輕代垃圾回收次數
§  YGCT:年輕代垃圾回收消耗時間
§  FGC:老年代垃圾回收次數
§  FGCT:老年代垃圾回收消耗時間
§  GCT:垃圾回收消耗總時間

8. 堆內存統計

[root@cwgkxtts-vm01 ~]# lsof -i:17001

在這里插入圖片描述

[root@cwgkxtts-vm01 ~]# jstat -gccapacity 49101

在這里插入圖片描述

§  NGCMN:新生代最小容量
§  NGCMX:新生代最大容量
§  NGC:當前新生代容量
§  S0C:第一個幸存區大小
§  S1C:第二個幸存區的大小
§  EC:伊甸園區的大小
§  OGCMN:老年代最小容量
§  OGCMX:老年代最大容量
§  OGC:當前老年代大小
§  OC:當前老年代大小
§  MCMN:最小元數據容量
§  MCMX:最大元數據容量
§  MC:當前元數據空間大小
§  CCSMN:最小壓縮類空間大小
§  CCSMX:最大壓縮類空間大小
§  CCSC:當前壓縮類空間大小
§  YGC:年輕代gc次數
§  FGC:老年代GC次數

9.新生代垃圾回收統計

[root@cwgkxtts-vm01 ~]# jstat -gcnew 49101
在這里插入圖片描述


§  S0C:第一個幸存區大小
§  S1C:第二個幸存區的大小
§  S0U:第一個幸存區的使用大小
§  S1U:第二個幸存區的使用大小
§  TT:對象在新生代存活的次數
§  MTT:對象在新生代存活的最大次數
§  DSS:期望的幸存區大小
§  EC:伊甸園區的大小
§  EU:伊甸園區的使用大小
§  YGC:年輕代垃圾回收次數
§  YGCT:年輕代垃圾回收消耗時間

10. 新生代內存統計

[root@cwgkxtts-vm01 ~]# jstat -gcnewcapacity 49101
在這里插入圖片描述

§  NGCMN:新生代最小容量
§  NGCMX:新生代最大容量
§  NGC:當前新生代容量
§  S0CMX:最大幸存1區大小
§  S0C:當前幸存1區大小
§  S1CMX:最大幸存2區大小
§  S1C:當前幸存2區大小
§  ECMX:最大伊甸園區大小
§  EC:當前伊甸園區大小
§  YGC:年輕代垃圾回收次數
§  FGC:老年代回收次數

11. 老年代垃圾回收統計

[root@cwgkxtts-vm01 ~]# jstat -gcold 49101

在這里插入圖片描述

§  MC:方法區大小
§  MU:方法區使用大小
§  CCSC:壓縮類空間大小
§  CCSU:壓縮類空間使用大小
§  OC:老年代大小
§  OU:老年代使用大小
§  YGC:年輕代垃圾回收次數
§  FGC:老年代垃圾回收次數
§  FGCT:老年代垃圾回收消耗時間
§  GCT:垃圾回收消耗總時間

12. 老年代內存統計

[root@cwgkxtts-vm01 ~]# jstat -gcoldcapacity 49101

在這里插入圖片描述

§  OGCMN:老年代最小容量
§  OGCMX:老年代最大容量
§  OGC:當前老年代大小
§  OC:老年代大小
§  YGC:年輕代垃圾回收次數
§  FGC:老年代垃圾回收次數
§  FGCT:老年代垃圾回收消耗時間
§  GCT:垃圾回收消耗總時間

13. JVM編譯方法統計

[root@cwgkxtts-vm01 ~]# jstat -printcompilation 49101

在這里插入圖片描述

§  Compiled:最近編譯方法的數量
§  Size:最近編譯方法的字節碼數量
§  Type:最近編譯方法的編譯類型。
§  Method:方法名標識。

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

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

相關文章

UE4 Niagara 關卡3.1官方案例解析二

自己嘗試做做,打亂順序 1、新建空的niagara system,添加空的發射器。更換渲染器為網格體渲染器并添加網格體。 2、發射器更新里面添加Spawn Rate,發射個粒子看看 效果圖: 3、采樣靜態網格體,網格體粒子出生于靜態網格…

【排序算法】基數排序

一:基本概念 1.1 基數排序(桶排序)介紹 基數排序(radix sort)屬于“分配式排序”(distribution sort),又稱“桶子法”(bucket sort)或bin sort,顧名思義,它是…

【圖說】電腦發展史

免責聲明:文中有一些圖片來源自網絡,如有版權請通知我刪除,謝謝! “結繩記事”是計算的開端 如果說“結繩記事”僅是計數,那么“算籌”就是真正的計算工具 算盤也是我們老祖宗的杰出發明,最擅長“加減乘除”,包括但不限于乘方、開方、對數等。還能進行開發智力的“珠心算…

鼠標失靈怎么辦?電腦出現鼠標失靈的詳細處理方法介紹

無論是筆記本電腦還是臺式機電腦,鼠標是必不可少的外設之一,而我們在使用電腦的過程中,經常回遇到鼠標突然失靈了,不聽使喚,控制不了,接下小編來與大家一起分享,遇到這種情況我們該怎么辦 有時…

C語言學習筆記(二)

C語言學習 學習筆記(一) 學習筆記(二) 文章目錄 C語言學習一、C語言中的數據類型進制二進制八進制十六進制進制轉換表 單位換算尋址 數據類型基本類型整數類型整數的有符號和無符號實數類型字符型 構造類型指針類型空類型總結 常量直接常量符號常量轉義符 符號常量…

Python并發編程:多線程-GIL全局解釋器鎖

一 引子 在Cpython解釋器中,同一個進程下開啟的多線程,同一時刻只能有一個線程執行,無法利用多核優勢首先:需要明確的一點是GIL并不是Python的特性,它是在實現Python解析器(CPython)時所引入的一個概念。就好比c是一套…

協議(網絡協議)

HTTP/HTTPS 協議 HTTP 實際上是個縮寫,英文全稱是:Hyper Text Transfer Protocol (超文本傳輸協議)。 最常用的網頁(也叫web頁)就是一種超文本的具體表現形式。HTTPS (全稱:Hyper …

美團-放水果

題目: 放水果 把M個相同的水果放在N個同樣的盤子里,允許有的盤子空著不放,問不同的放法數K是多少?請注意,5,1,1和1,5,1 是同一種放法。輸入描述 第一行是測試數據的數目…

【Spring】19 @Autowired注解使用詳解

文章目錄 構造函數注入Setter方法注入字段注入數組和集合注入特殊情況處理特殊接口類型的注入異常處理結語 Spring 框架的 Autowired 注解是實現依賴注入的一種強大而靈活的方式。在本文中,我們將介紹 Autowired 注解的多種用法,包括構造函數、setter方法…

ICASSP2024 | ICMC-ASR 車載多通道語音識別挑戰賽總結

為促進駕駛場景中語音處理和識別研究,在ISCSLP 2022上成功舉辦智能駕駛座艙語音識別挑戰 (ICSRC)的基礎上,西工大音頻語音與語言處理研究組 (ASLPNPU)聯合理想汽車、希爾貝殼、WeNet社區、字節、微軟、天津大學、南洋理工大學以及中國信息通信研究院等多…

EMO在哪體驗?阿里對口型視頻生成工具EMO下載地址?阿里巴巴新模型EMO的技術原理

這幾天,阿里的對口型視頻生成工具EMO火了。根據官方宣傳,EMO只需要上傳一張圖片和一段音頻就可以一鍵生成對口型視頻,而且視頻中的嘴型還可以與聲音匹配。這項技術支持多語言、對話、唱歌以及快速語速的適配,但也可能成為制造虛假…

pip降級在pycharm中

PyCharm依賴于"–build-dir"參數安裝第三方庫,但該參數在最新的23.0版pip中已刪除 解決辦法就是降級pip,PyCharm中選擇File,找到編譯器,點擊pip,勾選對應版本即可 或者在cmd中執行運行python -m pip install…

基于centos的linux上docker安裝,及mysql、redis等應用在docker容器中的安裝

Docker環境安裝 安裝yum-utils: yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2為yum源添加docker倉庫位置: yum‐config‐manager ‐‐add‐repo https://download.docker.com/linux/centos/docker‐ce.repo如果上面執行命令后…

【matlab】matlab隨機函數-rand

matlab中rand相關的隨機函數包括rand(),randn(),randi()等。相關用法如下: 1,rand(m,n) 含義:生成0-1間均勻分布的隨機矩陣(m行,n列),如果mn,則可簡寫為rand(m) >> rand(1) ans 0.8147 ----------…

Linux系統中的高級多線程編程技術

在Linux系統中,多線程編程是一種常見的并發編程模型,通過利用多線程可以實現程序的并發執行,提高系統的性能和響應速度。在Linux系統中,開發人員通常使用 pthread 庫來進行多線程編程,同時需要掌握線程同步技術以避免并…

JVM(4)

垃圾回收問題 垃圾回收算法 通過之前的學習我們可以將死亡對象標記出來了,標記出來后我們就可以進行垃圾回收操作了,在正式學習垃圾處理器之前,我們先來看一下垃圾回收器使用的幾種算法. 標記-清除算法 "標記-清除"算法是基礎的收集算法.算法分為"標記"…

「Vue3系列」Vue3指令

文章目錄 一、Vue3 指令二、注冊-自定義指令三、常見自定義指令1. 聚焦指令(v-focus)2. 高亮指令(v-highlight)3. 防抖指令(v-debounce)4. 限制輸入指令(v-limit)使用注意事項 四、相…

WPF中如何設置自定義控件

1.圓角按鈕的設置: 眾所周知在WPF中自帶有提示信息,當我問創建Button時,點擊空格出現如下可選設置 帶有小扳手🔧圖標為相應的屬性,如果Button有CornerRadius(角半徑)屬性就能夠直接設置Button實…

33. 【Linux教程】Linux 用戶組

前面小節介紹了 Linux 用戶相關的增刪改查,本小節介紹 Linux 用戶組,Linux 系統中采取了一種安全機制(即用戶組),用戶組可以允許多個 Linux 用戶共享同一種權限。 1. 用戶組介紹 Linux 是多任務多用戶的操作系統&…

鴻蒙Harmony應用開發—ArkTS聲明式開發(自定義事件分發)

ArkUI在處理觸屏事件時,會在觸屏事件觸發前進行按壓點和組件區域的觸摸測試,來收集需要響應觸屏事件的組件,再基于觸摸測試結果分發相應的觸屏事件。在父節點,開發者可以通過onChildTouchTest決定如何讓子節點去做觸摸測試&#x…