日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Java常用命令及Java Dump

發布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java常用命令及Java Dump 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

線程Dump,包含所有線程的運行狀態。純文本格式。
堆Dump,包含線程Dump,幵包含所有堆對象的狀態。二進制格式。

Java Dump方法
1.使用Java虛擬機制作Dump
指示虛擬機在發生內存不足錯誤時,自動生成堆Dump
-XX:+HeapDumpOnOutOfMemoryError

2.使用圖形化工具制作Dump
使用JDK(1.6)自帶的工具:Java VisualVM。


3.使用命令行制作Dump
jstack:打印線程的棧信息,制作線程Dump。
jmap:打印內存映射,制作堆Dump。

步驟:
檢查虛擬機版本(java -version)
找出目標Java應用的進程ID(jps)
使用jstack命令制作線程Dump? Linux環境下使用kill命令制作線程Dump
使用jmap命令制作堆Dump


都位于jdk的bin目錄下

1.jps顯示當前系統的java進程情況,及其id號

?jps相當于Solaris進程工具ps。不象”pgrep java”或”ps -ef grep java”,jps并不使用應用程序名來查找JVM實例。因此,它查找所有的Java應用程序,包括即使沒有使用java執行體的那種(例如,定制的啟動 器)。另外,jps僅查找當前用戶的Java進程,而不是當前系統中的所有進程。


2.jstack用于生成java虛擬機當前時刻的線程快照。

線程快照是當前java虛擬機內每一條線程正在執行的方法堆棧的集合,生成線程快照的主要目的是定位線程出現長時間停頓的原因,如線程間死鎖、死循環、請求外部資源導致的長時間等待等。 線程出現停頓的時候通過jstack來查看各個線程的調用堆棧,就可以知道沒有響應的線程到底在后臺做什么事情,或者等待什么資源。 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題。另外,jstack工具還可以附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 如果現在運行的java程序呈現hung的狀態,jstack是非常有用的。

http://www.hollischuang.com/archives/110


3.jmap是JDK自帶的工具軟件,主要用于打印指定Java進程(或核心文件、遠程調試服務器)的共享對象內存映射或堆內存細節??梢允褂胘map生成Heap Dump。

常見內存錯誤:
outOfMemoryError 年老代內存不足。
outOfMemoryError:PermGen Space 永久代內存不足。
outOfMemoryError:GC overhead limit exceed 垃圾回收時間占用系統運行時間的98%或以上。

http://www.hollischuang.com/archives/303


4.jstat(JVM Statistics Monitoring Tool)是用于監控虛擬機各種運行狀態信息的命令行工具。他可以顯示本地或遠程虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據,在沒有GUI圖形的服務器上,它是運行期定位虛擬機性能問題的首選工具。


5.jhat(Java Heap Analysis Tool),是一個用來分析java的堆情況的命令。之前的文章講到過,使用jmap可以生成Java堆的Dump文件。生成dump文件之后就可以用jhat命令,將dump文件轉成html的形式,然后通過http訪問可以查看堆情況。jhat命令解析會Java堆dump并啟動一個web服務器,然后就可以在瀏覽器中查看堆的dump文件了。

jhat還提供了一種對象查詢語言(Object Query Language),OQL有點類似SQL,可以用來查詢。


6.javap是jdk自帶的一個工具,可以對代碼反編譯,可以查看java編譯器生成的字節碼。

http://www.hollischuang.com/archives/1107

https://www.cnblogs.com/frinder6/p/5440173.html


參考:http://www.hollischuang.com/archives/308

http://www.importnew.com/18398.html


一次服務大量超時的java排查過程經驗

Java應用調試利器——BTrace教程

總結

以上是生活随笔為你收集整理的Java常用命令及Java Dump的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。