JVM定位问题的常用命令

jps:显示当前所有java进程pid的命令

 

 

jinfo:  查看正在运行的java应用程序的扩展参数,包括java system属性和JVM命令行参数

  

 

 

jstat:  查看堆内存各部分的使用量,以及加载类的数量

  例如:

    垃圾回收统计   jstat -gc  15992

    编译统计: stat -compiler  19552

    类加载统计: jstat -class  19552

    堆内存统计: jstat -gccapacity 19552

    新生代垃圾回收统计: jstat -gcnew 19552

 

top: 在linux环境下,查看各个进程的cpu使用情况,默认按cpu使用率排序

jstack: 使用jstack pid查看该线程当前的堆栈情况

    可以通过执行stack命令获取thread dump,再根据thread dump分析当前各个线程的运行情况,如是否存在死锁,是否存在一个线程长时间持有锁不放

    在dump中,线程一般有如下几种状态:

      RUNNABLE: 线程处于执行中

      BLOCKED: 线程被阻塞

      WAITING: 线程正在等待

      

 

使用jvisualvm的jstatd方式远程监控Java程序

  参考:https://www.cnblogs.com/liugh/p/7620336.html

posted @ 2020-04-27 13:06  zealoterboy  阅读(40)  评论(0)    收藏  举报