中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

有哪些Java性能常見命令

發布時間:2021-11-01 10:38:16 來源:億速云 閱讀:117 作者:iii 欄目:編程語言

本篇內容介紹了“有哪些Java性能常見命令”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

性能優化一向是后端服務優化的重點,但是線上性能故障問題不是經常出現,或者受限于業務產品,根本就沒辦法出現性能問題,包括筆者自己遇到的性能問題也不多,所以為了提前儲備知識,當出現問題的時候不會手忙腳亂。

  既然是定位問題,肯定是需要借助工具,我們先了解下需要哪些工具可以幫忙定位問題。

  top命令

  top命令是我們最常用的Linux命令之一,它可以實時的顯示當前正在執行的進程的CPU使用率,內存使用率等系統信息。top -Hp pid 可以查看線程的系統資源使用情況。

  vmstat命令

  vmstat是一個指定周期和采集次數的虛擬內存檢測工具,可以統計內存,CPU,swap的使用情況,它還有一個重要的常用功能,用來觀察進程的上下文切換。字段說明如下:

  r: 運行隊列中進程數量(當數量大于CPU核數表示有阻塞的線程)

  b: 等待IO的進程數量

  swpd: 使用虛擬內存大小

  free: 空閑物理內存大小

  buff: 用作緩沖的內存大小(內存和硬盤的緩沖區)

  cache: 用作緩存的內存大小(CPU和內存之間的緩沖區)

  si: 每秒從交換區寫到內存的大小,由磁盤調入內存

  so: 每秒寫入交換區的內存大小,由內存調入磁盤

  bi: 每秒讀取的塊數

  bo: 每秒寫入的塊數

  in: 每秒中斷數,包括時鐘中斷。

  cs: 每秒上下文切換數。

  us: 用戶進程執行時間百分比(user time)

  sy: 內核系統進程執行時間百分比(system time)

  wa: IO等待時間百分比

  id: 空閑時間百分比

  pidstat命令

  pidstat 是 Sysstat 中的一個組件,也是一款功能強大的性能監測工具,top 和 vmstat 兩個命令都是監測進程的內存、CPU 以及 I/O 使用情況,而 pidstat 命令可以檢測到線程級別的。pidstat命令線程切換字段說明如下:

  UID :被監控任務的真實用戶ID。

  TGID :線程組ID。

  TID:線程ID。

  cswch/s:主動切換上下文次數,這里是因為資源阻塞而切換線程,比如鎖等待等情況。

  nvcswch/s:被動切換上下文次數,這里指CPU調度切換了線程。

  jstack命令

  jstack是JDK工具命令,它是一種線程堆棧分析工具,最常用的功能就是使用 jstack pid 命令查看線程的堆棧信息,也經常用來排除死鎖情況。

  jstat 命令

  它可以檢測Java程序運行的實時情況,包括堆內存信息和垃圾回收信息,我們常常用來查看程序垃圾回收情況。常用的命令是jstat -gc pid。信息字段說明如下:

  S0C:年輕代中 To Survivor 的容量(單位 KB);

  S1C:年輕代中 From Survivor 的容量(單位 KB);

  S0U:年輕代中 To Survivor 目前已使用空間(單位 KB);

  S1U:年輕代中 From Survivor 目前已使用空間(單位 KB);

  EC:年輕代中 Eden 的容量(單位 KB);

  EU:年輕代中 Eden 目前已使用空間(單位 KB);

  OC:老年代的容量(單位 KB);

  OU:老年代目前已使用空間(單位 KB);

  MC:元空間的容量(單位 KB);

  MU:元空間目前已使用空間(單位 KB);

  YGC:從應用程序啟動到采樣時年輕代中 gc 次數;

  YGCT:從應用程序啟動到采樣時年輕代中 gc 所用時間 (s);

  FGC:從應用程序啟動到采樣時 老年代(Full Gc)gc 次數;

  FGCT:從應用程序啟動到采樣時 老年代代(Full Gc)gc 所用時間 (s);

  GCT:從應用程序啟動到采樣時 gc 用的總時間 (s)。

  jmap命令

  jmap也是JDK工具命令,他可以查看堆內存的初始化信息以及堆內存的使用情況,還可以生成dump文件來進行詳細分析。查看堆內存情況命令jmap -heap pid。

  mat內存工具

  MAT(Memory Analyzer Tool)工具是eclipse的一個插件(MAT也可以單獨使用),它分析大內存的dump文件時,可以非常直觀的看到各個對象在堆空間中所占用的內存大小、類實例數量、對象引用關系、利用OQL對象查詢,以及可以很方便的找出對象GC Roots的相關信息。

  idea中也有這么一個插件,就是JProfiler。

“有哪些Java性能常見命令”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万载县| 安宁市| 司法| 界首市| 唐山市| 赤峰市| 芒康县| 宁海县| 聂荣县| 巴彦淖尔市| 郑州市| 万州区| 星座| 苏尼特左旗| 溆浦县| 繁峙县| 磐安县| 汝州市| 贞丰县| 杂多县| 宣武区| 台南市| 彭水| 天全县| 昭觉县| 大余县| 苏州市| 白城市| 鹤壁市| 邹城市| 磐安县| 广河县| 丹江口市| 汤原县| 灵台县| 南乐县| 和顺县| 新田县| 喀什市| 图们市| 营山县|