JVM相关

1.常见的监控命令

  • jstack Java堆栈跟踪工具
    用于生成虚拟机当前时刻的线程快照(每一条线程正在执行的方法堆栈的集合),主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源的长时间等待。
    一般步骤:(1)Linux下top命令查看各个进程的cpu使用情况;(2)top -Hp pid 可以查看该进程下各个线程的cpu使用情况;(3)获取到了占用cpu资源较高的线程pid,将该pid转成16进制的值 jstack pid;(4)查看分析thread dump,重点关注死锁(Deadlock) 、等待资源(Waiting on condition) 、等待获取监视器(Waiting on monitor entry) 、阻塞(Blocked)。
  • jstat 虚拟机统计信息监视工具
    用于监视虚拟机各种运行状态信息的命令行工具,可以显示虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
    jstat - gc 2764 250 20(每250毫秒查询一次进程2764垃圾收集状况,一共查询20次)结果大约如图所示


    网上的例子
  • jmap Java内存映像工具
    用于生成堆转储快照(dump)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、top(Linux命令) 执行top命令: (查看进程15477的详细情况,下文用到) 系统信息(前五行): ...
    java菜阅读 4,824评论 0 1
  • 本文总结JDK自带的JVM相关工具使用技巧。 java java命令用来启动一个JVM来执行Java应用程序。ja...
    翱翔云端阅读 3,051评论 0 1
  • java程序执行过程 运行时数据区域划分 线程私有区域 1. 程序计数器: 1.1. 这块内存区域很小,是当前线程...
    萍水相逢_程序员阅读 3,355评论 0 1
  • 1、JVM内存模型 JVM内存模型主要有五个部分组成:程序计数器、虚拟机栈、本地方法栈、方法区、堆 程序计数器 程...
    小胖六阅读 3,365评论 1 0
  • 一、JVM = 类加载器(classloader) + 执行引擎(execution engine) + 运行时数...
    大树8026阅读 2,586评论 0 3