国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JVM監(jiān)控和調優(yōu)常用命令jps|jstat|jinfo|jmap|jhat|jstack實戰(zhàn)

這篇具有很好參考價值的文章主要介紹了JVM監(jiān)控和調優(yōu)常用命令jps|jstat|jinfo|jmap|jhat|jstack實戰(zhàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.JVM監(jiān)控和調優(yōu)的主要目的

  1. 性能優(yōu)化:通過JVM調優(yōu),可以提高Java應用程序的性能,減少響應時間,提高吞吐量,以更好地滿足用戶需求。性能優(yōu)化可以加快應用程序的執(zhí)行速度,減少延遲,提高用戶體驗。

  2. 內存管理:JVM負責管理Java應用程序的內存。正確的內存管理可以避免內存泄漏和內存溢出等問題,確保應用程序在長時間運行時不會耗盡內存或導致性能下降。

  3. 垃圾回收優(yōu)化:垃圾回收是JVM的核心功能之一,它負責釋放不再使用的對象并回收內存。通過調整垃圾回收器的參數和策略,可以減少垃圾回收的頻率和開銷,提高應用程序的響應速度。

  4. 資源利用率:JVM調優(yōu)可以幫助應用程序更有效地利用計算資源,包括CPU、內存和線程等。這有助于降低硬件成本,提高應用程序的伸縮性和性能。

  5. 穩(wěn)定性和可靠性:JVM調優(yōu)可以提高應用程序的穩(wěn)定性,降低崩潰和故障的風險。通過監(jiān)視和調整JVM的行為,可以減少應用程序中的內存泄漏、死鎖和其他潛在問題。

  6. 成本效益:優(yōu)化JVM性能可以減少硬件和運維成本。通過更好地利用現有資源,可以延長硬件的使用壽命,降低云計算服務的費用,從而在長期內節(jié)省資金。

????????總之,JVM調優(yōu)是確保Java應用程序在生產環(huán)境中穩(wěn)定、高性能運行的重要步驟。它需要深入理解Java虛擬機、垃圾回收機制、內存管理等方面的知識,以便根據應用程序的需求進行合適的調整和優(yōu)化。通過JVM調優(yōu),可以提高應用程序的競爭力,提供更好的用戶體驗,并減少運維成本。

2.JVM監(jiān)控和調優(yōu)常用命令

2.1jps查看正在運行的Java進程

????????jps(Java Process Status):顯示指定系統(tǒng)內所有的HotSpot虛擬機進程(查看虛擬機進程信息),可用于查詢正在運行的虛擬機進程。

基本使用語法為:jps [-q] [-mlvV] [<hostid>]

-q:僅僅顯示LVMID(local virtual machine id),即本地虛擬機唯一id。不顯示主類的名稱等
-m:輸出虛擬機進程啟動時傳遞給主類main()的參數
-l:輸出應用程序主類的全類名 或 如果進程執(zhí)行的是jar包,則輸出jar完整路徑
-v:列出虛擬機進程啟動時的JVM參數。比如:-Xms20m -Xmx50m是啟動程序指定的jvm參數。---V:表示顯示版本信息
hostid:RMI注冊表中注冊的主機名。如果想要遠程監(jiān)控主機上的 java 程序,需要安裝 jstatd

上述命令在同一個【】內的命令也可以組合使用,示例
bdpcloud@host154[/home/bdpcloud]$ jps -mlvV
10240 DbToHiveServer-5.0.jar conf/reldbtohive -Xms512m -Xmx1g -Xss64m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m

2.2jstat查看JVM統(tǒng)計信息

????????jstat(JVM Statistics Monitoring Tool):用于監(jiān)視虛擬機各種運行狀態(tài)信息的命令行工具。它可以顯示本地或者遠程虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據。在沒有GUI圖形界面,只提供了純文本控制臺環(huán)境的服務器上,它將是運行期定位虛擬機性能問題的首選工具。常用于檢測垃圾回收問題以及內存泄漏問題。

基本使用語法為:jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

查看可選項:jstat -options所有參數
類裝載相關的:
-class:顯示ClassLoader的相關信息:類的裝載、卸載數量、總空間、類裝載所消耗的時間等
JIT相關的:
-compiler:顯示JIT編譯器編譯過的方法、耗時等信息
-printcompilation:輸出已經被JIT編譯的方法
垃圾回收相關的(重點):
-gc:顯示與GC相關的堆信息。包括Eden區(qū)、兩個Survivor區(qū)、老年代、永久代等的容量、已用空間、GC時間合計等信息。
-gccapacity:顯示內容與-gc基本相同,但輸出主要關注Java堆各個區(qū)域使用到的最大、最小空間。
-gcutil:顯示內容與-gc基本相同,但輸出主要關注已使用空間占總空間的百分比。
-gccause:與-gcutil功能一樣,但是會額外輸出導致最后一次或當前正在發(fā)生的GC產生的原因。
-gcnew:顯示新生代GC狀況
-gcnewcapacity:顯示內容與-gcnew基本相同,輸出主要關注使用到的最大、最小空間
-gcold:顯示老年代GC狀況
-gcoldcapacity:顯示內容與-gcold基本相同,輸出主要關注使用到的最大、最小空間
其他參數說明:
[-t] :
?可以在輸出信息前加上一個Timestamp列,顯示程序的運行時間。單位:秒
[-h<lines>]:可以在周期性數據輸出時,輸出多少行數據后輸出一個表頭信息
<vmid>:jps中的JVM進程
[<count>]]:
用于指定輸出統(tǒng)計數據的周期,單位為毫秒。即:查詢間隔
<count>]]:用于指定查詢的總次數

jstat -class查看
bdpcloud@host154[/home/bdpcloud]$ jstat -class 7872
Loaded ?Bytes ?Unloaded ?Bytes ? ? Time ??
?23203 45413.4 ? ? ? ?0 ? ? 0.0 ? ? 245.35

jstat -compiler查看
bdpcloud@host154[/home/bdpcloud]$ jstat -compiler 7872
Compiled Failed Invalid ? Time ? FailedType FailedMethod
? ?27280 ? ? ?8 ? ? ? 0 ?1544.76 ? ? ? ? ?1 com/alibaba/csp/sentinel/util/TimeUtil$1 run

jstat -printcompilation 查看(輸出已經被JIT編譯的方法)
bdpcloud@host154[/home/bdpcloud]$ jstat -printcompilation 7872
Compiled ?Size ?Type Method
? ?27280 ? ?456 ? ?1 redis/clients/jedis/JedisFactory validateObject

jstat -gc查看(基于內存大小分析)
示例:
bdpcloud@host154[/home/bdpcloud]$ jstat -gc 7873
?S0C ? ?S1C ? ?S0U ? ?S1U ? ? ?EC ? ? ? EU ? ? ? ?OC ? ? ? ? OU ? ? ? MC ? ? MU ? ?CCSC ? CCSU ? YGC ? ? YGCT ? ?FGC ? ?FGCT ? ? GCT ??
10752.0 10752.0 6792.1 ?0.0 ? 153088.0 22379.3 ? 175104.0 ? 16293.0 ? 53760.0 50572.8 7168.0 6508.4 ? ? 14 ? ?5.373 ? 2 ? ? ?4.079 ? ?9.452

也可以指定時間,次數,打印總次數輸出
bdpcloud@host154[/home/bdpcloud]$ jstat -gc -t 7873 1000 100

參數說明:
S0C:表示年輕代(Young Generation)中的 Survivor 0 區(qū)的容量(以KB為單位)。
S1C:表示年輕代中的 Survivor 1 區(qū)的容量(以KB為單位)。
S0U:表示年輕代中 Survivor 0 區(qū)的使用量(以KB為單位)。
S1U:表示年輕代中 Survivor 1 區(qū)的使用量(以KB為單位)。
EC:表示年輕代中 Eden 區(qū)的容量(以KB為單位)。
EU:表示年輕代中 Eden 區(qū)的使用量(以KB為單位)。
OC:表示老年代(Old Generation)的容量(以KB為單位)。
OU:表示老年代的使用量(以KB為單位)。
MC:表示方法區(qū)(Metaspace)的容量(以KB為單位)。
MU:表示方法區(qū)的使用量(以KB為單位)。
CCSC:表示壓縮類空間(Compressed Class Space)的容量(以KB為單位)。
CCSU:表示壓縮類空間的使用量(以KB為單位)。
YGC:表示年輕代垃圾回收的次數。
YGCT:表示年輕代垃圾回收所花費的總時間&#x文章來源地址http://www.zghlxwxcb.cn/news/detail-696779.html

到了這里,關于JVM監(jiān)控和調優(yōu)常用命令jps|jstat|jinfo|jmap|jhat|jstack實戰(zhàn)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【JVM的相關參數和調優(yōu)】

    【JVM的相關參數和調優(yōu)】

    這類此參數在jdk的各個版本之間很少會變化,基本不改變 java -version,查看當前電腦上的jdk的版本信息 java -help,查看java命令的各種選項和參數 java -showversion,相當于上述兩者結合 4. jps,查看后臺運行的 java 進程 Test 的進程 id 為 29636 5. jinfo,通過進程 id 查看正在運行的 jav

    2024年01月17日
    瀏覽(37)
  • 面試系列 - JVM內存模型和調優(yōu)詳解

    目錄 一、JVM內存模型 1. 程序計數器(Program Counter Register): 2.Java虛擬機棧(Java Virtual Machine Stacks): 3. 本地方法棧(Native Method Stack): 5. 方法區(qū)(Method Area): 6. 運行時常量池(Runtime Constant Pool): 7. 直接內存(Direct Memory): 二、垃圾回收期CMS和G1區(qū)別 1. 工作原理:

    2024年02月10日
    瀏覽(23)
  • 性能調優(yōu)篇 二、Jvm監(jiān)控及診斷工具-命令行篇

    性能調優(yōu)篇 二、Jvm監(jiān)控及診斷工具-命令行篇

    性能診斷是軟件工程師在日程生活中需要經常面對和解決的問題 Java作為最流行的編程語言之一,其應用性能診斷一直收到業(yè)內廣泛關注。造成Java應用出現性能問題的因素非常多,例如線程控制,磁盤讀寫,數據庫訪問,網絡io,垃圾收集等。 想要定位這些問題,一款優(yōu)秀的

    2024年02月11日
    瀏覽(26)
  • jstat命令查看jvm內存情況及GC內存變化

    jstat命令查看jvm內存情況及GC內存變化

    jstat [Options] pid [interval] [count] 參數說明: Options,選項,一般使用 -gc、-gccapacity查看gc情況 pid,VM的進程號,即當前運行的java進程號 interval,間隔時間(按該時間頻率自動刷新當前內存情況),單位毫秒 count,打印次數,如果缺省則打印無數次 查看當前jvm內存情況 jstat -gc 12675

    2024年02月01日
    瀏覽(16)
  • 【Java可執(zhí)行命令】(十七)JVM運行時信息動態(tài)維護工具 jinfo:一個維護 JVM 相關的配置參數和系統(tǒng)屬性的工具,輔助故障排除、診斷和優(yōu)化 ~

    【Java可執(zhí)行命令】(十七)JVM運行時信息動態(tài)維護工具 jinfo:一個維護 JVM 相關的配置參數和系統(tǒng)屬性的工具,輔助故障排除、診斷和優(yōu)化 ~

    jinfo 是 Java Development Kit (JDK) 自帶的一款命令行工具。它旨在為用戶提供進程的運行時信息,特別是與 Java 虛擬機 (JVM) 相關的配置和系統(tǒng)屬性。 jinfo 使得用戶可以輕松地查看和修改正在運行的 Java 進程的參數,以便進行 故障排除、診斷和優(yōu)化 。 jinfo 允許用戶動態(tài)查詢和修改

    2024年02月13日
    瀏覽(31)
  • CPU飆升 頻繁GC排查-使用jmap histro命令來查看JVM中對象的直方圖

    CPU飆升 頻繁GC排查-使用jmap histro命令來查看JVM中對象的直方圖

    jmap是Java Virtual Machine Tool的一部分,它允許您生成JVM堆轉儲文件并執(zhí)行各種診斷操作。可以使用jmap histro命令來查看JVM中對象的直方圖。 以下是使用jmap histro命令的語法: 參數pid是JVM進程的ID。請注意,您需要具有足夠的權限才能執(zhí)行此命令。 執(zhí)行上述命令后,您將獲得JVM堆

    2024年01月19日
    瀏覽(29)
  • 常用 JVM 調優(yōu)工具

    常用 JVM 調優(yōu)工具

    點擊下方關注我,然后右上角點擊...“設為星標”,就能第一時間收到更新推送啦~~~ JVM 日常調優(yōu)總結起來就是:首先通過 jps 命令查看當前進程,然后根據 pid 通過 jinfo 命令查看和修改 jvm 參數,通過 jstat 命令查看 class 的加載信息以及 GC 信息,通過 jstack 命令查看線程堆棧

    2024年02月13日
    瀏覽(19)
  • JVM常用調優(yōu)策略

    調優(yōu)之前首先我們要知道怎樣才算是“優(yōu)”,不能籠統(tǒng)的說我的程序性能很好,所以就需要有一個具體的指標來衡量性能情況,而在JVM里面衡量性能兩個指標分別“吞吐量”和“停頓時間”。 吞吐量: 程序運行過程中執(zhí)行兩種任務,分別是執(zhí)行業(yè)務代碼和進行垃圾回收,吞

    2024年02月09日
    瀏覽(16)
  • Kafka:硬件配置選擇和調優(yōu)

    Kafka:硬件配置選擇和調優(yōu)

    100 萬日活,每人每天 100 條日志, 每天總共的日志條數是 100 萬 * 100 條 = 1 億條(中型公司偏?。?。 1 億 / 24 小時 / 60 分 / 60 秒? =? 1150 條/每秒鐘。 每條日志大?。?.5k - 2k(取 1k)(甚至更多根據實際情況)。 1150 條/每秒鐘 * 1k ≈ 1m/s 。 高峰期(中午小高峰 下午 8 - 12):

    2024年02月11日
    瀏覽(20)
  • 【Jvm】性能調優(yōu)(拓展)Jprofiler如何監(jiān)控和解決死鎖、內存泄露問題

    【Jvm】性能調優(yōu)(拓展)Jprofiler如何監(jiān)控和解決死鎖、內存泄露問題

    Jprofilers是針對Java開發(fā)的 性能分析工具(免費試用10天) , 可以對Java程序的 內存,CPU,線程,GC,鎖 等進行監(jiān)控和分析 , 本人IDEA版本是 2020.2.2 ,選擇的Jprofiler版本是 12.0 (早期的版本是純英文的, 12.0支持中文 ,安裝主要考慮是否與IDEA插件兼容即可) 進入Jprofiler官網下載 - Jprofiler 版本這

    2024年02月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包