亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JVM分析工具簡介

IT那活兒 / 2142人閱讀
JVM分析工具簡介

點(diǎn)擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!?。?/strong>

前 言

JDK是一個(gè)功能非常強(qiáng)大的Java開發(fā)套裝,不僅給我們提供了Java運(yùn)行環(huán)境,還給開發(fā)人員提供了許多有用的開發(fā)組件(位于bin目錄中,如下圖所示),對于我們運(yùn)維人員來說,在我們出現(xiàn)一些內(nèi)存,GC,線程等問題,JVM分析工具能夠很好的幫助我們定位分析問題,我們可以利用jdk自帶的jvm分析工具進(jìn)行分析,比如jps,jinfo,jvisualvm,jconsole,jstat,jstack,jcmd,jmap等。當(dāng)然也可以采用很多優(yōu)秀的開源jvm分析工具進(jìn)行分析,Arthas等。

常見自帶的JVM分析工具


工具

類型

作用

jps

命令行

jvm進(jìn)程狀態(tài)工具,列出系統(tǒng)上jvm進(jìn)程的pid

jinfo

命令行

jvm信息查看工具,查看jvm的各種配置信息

jvisualvm

圖形界面

jvm綜合監(jiān)控工具,查看jvm基本信息,堆,棧,轉(zhuǎn)儲,內(nèi)存,cpu以及gc等信息

jconsole

圖形界面

jmx兼容的圖形工具,用于監(jiān)控jvm基本情況,查看MBean

jstat

命令行

jvm統(tǒng)計(jì)監(jiān)控工具,附件到一個(gè)jvm進(jìn)程上手機(jī)和記錄jvm的各種性能指標(biāo)數(shù)據(jù)

jstack

命令行

jvm棧查看工具,可以查看jvm進(jìn)程的線程和鎖信息

jcmd

命令行

jvm命令行調(diào)試工具,用于向jvm進(jìn)程發(fā)送調(diào)試命令

jmap

命令行

jvm堆內(nèi)存分析工具,可以查看jvm進(jìn)程對象直方圖,類加載統(tǒng)計(jì)以及做堆轉(zhuǎn)儲操作


JVM分析工具詳解

1. jps

通過jps查看Java進(jìn)程列表pid。如圖所示能看到ASMain的pid為2977。

2. Jinfo

通過Java進(jìn)程對應(yīng)的pid,使用jinfo查看jvm各種配置信息。比如jdk版本,環(huán)境,路徑,虛擬機(jī)名稱,編碼,堆棧等信息。

3. jvisualvm

jvisualvm是一個(gè)綜合監(jiān)控工具,查看jvm基本信息,堆,棧,轉(zhuǎn)儲,內(nèi)存,cpu以及gc等信息。

打開圖形化界面,找到對應(yīng)執(zhí)行方法程序可以查看相關(guān)資源配置信息。
  • 概述:可以看到堆棧信息以及系統(tǒng)參數(shù)等。

  • 監(jiān)視:CPU(使用情況,垃圾回收情況),內(nèi)存(堆大小,堆使用大?。悾愌b入卸載數(shù)量),線程(活動線程,守護(hù)線程數(shù)量)。

  • 線程:當(dāng)前所有線程執(zhí)行狀態(tài),主要包括開啟了那些線程,線程運(yùn)行,休眠,等待,駐留,監(jiān)視等信息。

  • 抽樣器:CPU抽樣(CPU樣例與線程CPU時(shí)間)與內(nèi)存抽樣(堆柱狀圖與每個(gè)線程分配)。,

  • Profiler:CPU與內(nèi)存性能分析。

4. jstat

jstat工具以命令行的方式,允許以固定的監(jiān)控頻次輸出 JVM 的各種監(jiān)控指標(biāo),比如使用 -gcutil 輸出 GC 和內(nèi)存占用匯總信息,每隔 5 秒輸出一次,輸出 100 次.

5. jstack

通過命令行工具 jstack,也可以實(shí)現(xiàn)抓取線程棧的操作,進(jìn)行在線分析,一般情況我們會連續(xù)抓取三次,每隔五秒。

6. jmap

jmap jvm自帶命令行工具,可用于了解系統(tǒng)運(yùn)行時(shí)的對象分布。

jmap pid 查看基本信息。

查看堆信息,jmap -heap pid。

jmap -histo pid 查看一些class的使用情況。

jmap -histo:live pid >dump.txt 輸出class信息到dump文件。



本文作者:程 紅(上海新炬王翦團(tuán)隊(duì))

本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129201.html

相關(guān)文章

  • 學(xué)習(xí)JVM必看書籍

    學(xué)習(xí)JVM的相關(guān)資料 《深入理解Java虛擬機(jī)——JVM高級特性與最佳實(shí)踐(第2版)》 showImg(https://segmentfault.com/img/bVbsqF5?w=200&h=200); 基于最新JDK1.7,圍繞內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題對JVM進(jìn)行全面而深入的分析,深刻揭示JVM的工作原理。以實(shí)踐為導(dǎo)向,通過大量與實(shí)際生產(chǎn)環(huán)境相結(jié)合的案例展示了解...

    shaonbean 評論0 收藏0
  • java8 之 新的Java工具

    簡介 毫無疑問,Java 8是Java自Java 5(發(fā)布于2004年)之后的最重要的版本。這個(gè)版本包含語言、編譯器、庫、工具和JVM等方面的十多個(gè)新特性。在本文中我們將學(xué)習(xí)這些新特性,并用實(shí)際的例子說明在什么場景下適合使用。 這個(gè)教程包含Java開發(fā)者經(jīng)常面對的幾類問題: 語言編譯器庫工具運(yùn)行時(shí)(JVM)新的Java工具 Java 8提供了一些新的命令行工具,這部分會講解一些對開發(fā)者最有用的工具...

    sourcenode 評論0 收藏0
  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強(qiáng))

    摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點(diǎn)贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨(dú)立帶隊(duì)的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...

    Scorpion 評論0 收藏0
  • 細(xì)述 Java垃圾回收機(jī)制→Java Garbage Collection Introduction

    摘要:在架構(gòu)中,堆內(nèi)存和垃圾回收器這兩個(gè)部分和垃圾回收相關(guān)。堆內(nèi)存在的內(nèi)存模型中,最重要的是要了解堆內(nèi)存的概念。在垃圾回收的過程中,這些對象將被從堆內(nèi)存中清除,同時(shí)它們的空間也就被回收了。 本文非原創(chuàng),翻譯自Java Garbage Collection introduction在Java中為對象分配和釋放內(nèi)存空間都是由垃圾回收線程自動執(zhí)行完成的。和C語言不一樣的是Java程序員不需要手動寫...

    codergarden 評論0 收藏0
  • 學(xué)Java編程需要注意的地方

    摘要:學(xué)編程真的不是一件容易的事不管你多喜歡或是多會編程,在學(xué)習(xí)和解決問題上總會碰到障礙。熟練掌握核心內(nèi)容,特別是和多線程初步具備面向?qū)ο笤O(shè)計(jì)和編程的能力掌握基本的優(yōu)化策略。   學(xué)Java編程真的不是一件容易的事,不管你多喜歡或是多會Java編程,在學(xué)習(xí)和解決問題上總會碰到障礙。工作的時(shí)間越久就越能明白這個(gè)道理。不過這倒是一個(gè)讓人進(jìn)步的機(jī)會,因?yàn)槟阋恢辈粩嗟膶W(xué)習(xí)才能很好的解決你面前的難題...

    leanxi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<