Java命令學習系列(零)——常見命令及Java Dump介紹


一、常用命令:

在JDK的bin目彔下,包含了java命令及其他實用工具。

jps:查看本機的Java中進程信息。

jstack:打印線程的棧信息,制作線程Dump。

jmap:打印內存映射,制作堆Dump。

jstat:性能監控工具。

jhat:內存分析工具。

jconsole:簡易的可視化控制台。

jvisualvm:功能強大的控制台。

二、認識Java Dump:

什么是Java Dump?

Java虛擬機的運行時快照。將Java虛擬機運行時的狀態和信息保存到文件。

線程Dump,包含所有線程的運行狀態。純文本格式。

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

Java Dump有什么用?

補足傳統Bug分析手段的不足: 可在任何Java環境使用;信息量充足。 針對非功能正確性的Bug,主要為:多線程幵發、內存泄漏。

制作Java Dump

使用Java虛擬機制作Dump

指示虛擬機在發生內存不足錯誤時,自動生成堆Dump

-XX:+HeapDumpOnOutOfMemoryError

使用圖形化工具制作Dump

使用JDK(1.6)自帶的工具:Java VisualVM。

使用命令行制作Dump

jstack:打印線程的棧信息,制作線程Dump。

jmap:打印內存映射,制作堆Dump。

步驟:

  1. 檢查虛擬機版本(java -version)
  2. 找出目標Java應用的進程ID(jps)
  3. 使用jstack命令制作線程Dump • Linux環境下使用kill命令制作線程Dump
  4. 使用jmap命令制作堆Dump

from: https://www.hollischuang.com/archives/308


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM