摘要:我們經(jīng)常用到的一工具分析棧內(nèi)存點擊下載分析堆內(nèi)存。下面我詳細介紹一下他們具體是使用方法是自帶的一個分析工具,我們可以在的安裝目錄找到中找到。
Java 內(nèi)存堆棧分析。我們在分析現(xiàn)網(wǎng)問題時候,經(jīng)常會遇到一些問題從日志上無法分析的疑難問題。在我們舉足無措的時候,我們可以分析一些JVM內(nèi)存,來看看問題出在哪里了。
我們經(jīng)常用到的一工具:
分析棧內(nèi)存(stack):jstack/kill -3 + IBM Thread and Monitor Dump Analyzer for Java (點擊下載)
分析堆內(nèi)存(heap): jmap + jhat。
我們通常是從棧信息入手來進行分析。下面我詳細介紹一下他們具體是使用方法:
jstack是java自帶的一個分析工具,我們可以在java的安裝目錄找到:$JAVA_HOME/bin 中找到。
使用方法usage里面的介紹非常明確了,我就不去翻譯啦。我這里舉個例子:
我們先查詢一下java進程,因為jstack要根據(jù)java進程號來打印stack信息:
ps -ef|grep java
將stack信息記錄到stack.out文件中: jstack -l 31155 > stack.out
我們再用BM Thread and Monitor Dump Analyzer for Java這個工具來分析。
這里可以清晰的看到線程數(shù)狀態(tài)統(tǒng)計,和每個線程的狀態(tài)。
具體的分析我們可以看看這篇文章。http://jameswxx.iteye.com/blog/1041173
jmap + jhat。這個兩個命令也是java自帶的,在$JAVA_HOME/bin中你也可以找到他們兩個。
基本使用方法是:
先打印heap信息:jmap -dump:live,format=b,file=heap.bin
注意這個文件一般會很大。要看應(yīng)用服務(wù)。
使用jhat分析:jhat -J-mx1024M heap.bin
這個命令會啟動一個Server服務(wù),默認的端口是7000。其中-mx是設(shè)置最大使用多少內(nèi)存,如果你要分析的heap文件很大的話,這個值要配置很大,不然會包內(nèi)存異常的錯誤。
我們主要看這個兩個部分:
Show instance counts for all classes (excluding platform)
Show heap histogram
平臺外的對象信息,和對象heap樹狀圖,這個樹狀圖包括所有對象的個數(shù)已經(jīng)占有大小,占用的大小是bytes。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/64272.html
面試官:今天要不來聊聊JVM調(diào)優(yōu)相關(guān)的吧?面試官:你曾經(jīng)在生產(chǎn)環(huán)境下有過調(diào)優(yōu)JVM的經(jīng)歷嗎?候選者:沒有面試官:...候選者:嗯...是這樣的,我們一般優(yōu)化系統(tǒng)的思路是這樣的候選者:1. 一般來說關(guān)系型數(shù)據(jù)庫是先到瓶頸,首先排查是否為數(shù)據(jù)庫的問題候選者:(這個過程中就需要評估自己建的索引是否合理、是否需要引入分布式緩存、是否需要分庫分表等等)候選者:2. 然后,我們會考慮是否需要擴容(橫向和縱向都...
摘要:點擊進入我的博客命令行工具這些工具大多數(shù)是類庫的一層薄的包裝,它們的主要功能代碼是在類庫中實現(xiàn)的??梢暬ぞ呤堑侥壳盀橹闺S發(fā)布的功能最強大的運行監(jiān)視和故障處理程序,并且可以預(yù)見在未來一段時間內(nèi)都是官方主力發(fā)展的虛擬機故障處理工具。 點擊進入我的博客 3.1 JDK命令行工具 showImg(https://segmentfault.com/img/remote/14600000174...
摘要:虛擬機性能監(jiān)控與故障處理工具詳解概述本文參考的是周志明的深入理解虛擬機第四章,為了整理思路,簡單記錄一下,方便后期查閱。虛擬機堆轉(zhuǎn)儲快照分析工具功能用于分析生成的。 虛擬機性能監(jiān)控與故障處理工具 詳解 4.1 概述 本文參考的是周志明的 《深入理解Java虛擬機》 第四章 ,為了整理思路,簡單記錄一下,方便后期查閱。 JDK本身提供了很多方便的JVM性能調(diào)優(yōu)監(jiān)控工具,除了集成式的Vis...
摘要:垃圾回收垃圾檢測引用計數(shù)法和可達性分析算法。引用計數(shù)法給一個對象添加引用計數(shù)器,每當(dāng)有個地方引用它,計數(shù)器就加,引用失效就減。通常會在老年代內(nèi)存被占滿時將會觸發(fā),回收整個堆內(nèi)存。 基礎(chǔ)知識 JVM - HotSpot內(nèi)存布局(1.8之前版本) showImg(https://segmentfault.com/img/bVMdE6?w=1024&h=608); 1.8版本開始,持久區(qū)沒有...
閱讀 1820·2021-10-11 10:59
閱讀 2495·2021-09-30 09:53
閱讀 1866·2021-09-22 15:28
閱讀 2869·2019-08-29 15:29
閱讀 1626·2019-08-29 13:53
閱讀 3287·2019-08-29 12:34
閱讀 2921·2019-08-26 10:16
閱讀 2712·2019-08-23 15:16