zoukankan      html  css  js  c++  java
  • java面试-JDK自带的JVM 监控和性能分析工具用过哪些?

    一、JDK的命令行工具

    1、jps(JVM Process Status Tools):虚拟机进程状况工具

    jps -l

    2、jinfo(Configuration Info for java):Java配置信息工具

    jinfo [option] pid  

    3、jmap(Memory Map for java):java内存映像工具

    用于生成堆转储快照,即dump文件

    jmap -dump:format=b,file=eclipse.bin 3500  #3500是通过jps命令拿到的LVMID  

    4、jstat(JVM Statistics Monitoring Tool):虚拟机统计信息监视工具

    jstat -gc 2764 250 20 # -gc监视java堆状况  每250毫秒查询一次进程2764垃圾收集状态,共查询20次
    jstat -gcutil 2754 #监视java堆内存使用状况 
    top -p 12309 -H   #-p用于指定进程,-H用于获取每个线程的信息  

    5、jhat(JVM Heap Analysis Tool):虚拟机dump文件分析工具

    jhat eclipse.bin

    屏幕显示“server is ready”,用户在浏览器中键入http://localhost:7000/就可以看到分析结果

    6、jstack(Stack Trace for java):java堆栈跟踪工具

    jstack -l 3500   

    用于生成虚拟机当前时刻的线程快照,即threaddump、javacore文件。

    线程快照的目的:定位线程长时间停顿的原因 

    线程长时间停顿的主要原因:等待外部资源(数据库连接、网络资源、设备资源)、死循环、锁等待(活锁和死锁) 

    二、JDK的可视化工具

    JConsole:Java监视与管理控制台

    VisualVM:多合一故障处理工具

     https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/

    三、堆外内存中的直接内存

    使用JDK自带的Native Memory Tracking(NMT特性)

  • 相关阅读:
    14.14DataSet数据集
    C#第六章学习代码
    C#第五章学习代码
    C#第四章学习代码
    C#第三章学习代码
    C#第二章学习的代码
    记录自学学习C#中写过的代码
    14._13数据集DataSet
    C#中数据库连接的几种写法
    视频、图形图像处理之Opencv技术记录(三)、相关文档页面的列表
  • 原文地址:https://www.cnblogs.com/wjh123/p/9866936.html
Copyright © 2011-2022 走看看