• jps:java版本的ps,查看进程的信息

    • jps -l 输出jar包路径,类全名
    • jps -m 输出main参数
    • jps -v 输出JVM参数
  • jinfo:是用来查看JVM参数和动态修改部分JVM参数的命令

  • jstat:命令是使用频率比较高的命令,主要用来查看JVM运行时的状态信息,包括内存状态、垃圾回收等

    输出:

    S0 S1 E O M CCS YGC YGCT FGC FGCT GCT

    6.17 0.00 6.39 33.72 93.42 90.57 976 57.014 68 53.153 110.168

    6.17 0.00 6.39 33.72 93.42 90.57 976 57.014 68 53.153 110.168

    6.17 0.00 6.39 33.72 93.42 90.57 976 57.014 68 53.153 110.168

  • 字段解释:

    • S0 survivor0使用百分比
    • S1 survivor1使用百分比
    • E Eden区使用百分比
    • O 老年代使用百分比
    • M 元数据区使用百分比
    • CCS 压缩使用百分比
    • YGC 年轻代垃圾回收次数
    • YGCT 年轻代垃圾回收消耗时间
    • FGC 老年代垃圾回收次数
    • FGCT 老年代垃圾回收消耗时间
    • GCT 垃圾回收消耗总时间
  • jstack:是用来查看JVM线程快照的命令,线程快照是当前JVM线程正在执行的方法堆栈集合。使用jstack命令可以定位线程出现长时间卡顿的原因,例如死锁,死循环等。jstack还可以查看程序崩溃时生成的core文件中的stack信息

  • jmap:是用来生成堆dump文件和查看堆相关的各类信息的命令,例如查看finalize执行队列,heap的详细信息和使用情况

  • jhat:是用来分析jmap生成dump文件的命令,jhat内置了应用服务器,可以通过网页查看dump文件分析结果,jhat一般是用在离线分析上

  • 可以使用工具:IBM Thread and Monitor Dump Analyzer for Java
04-16 08:35