java heap dump

  1. JPS-ML obtains Java process ID PID
  2. jmap dump: format=b, file=heap. dump [pid] or jmap hot pid>dump. log
  3. jhat heap.dump
  4. Access http://localhost:7000

thread dump

  1. ps -ef | grep 进程名 | grep -v grep
  2. top -Hp pid得到线程id tid
  3. printf “%x\n” tid得到线程id的十六进制表示如54ee
  4. jstack pid | grep 54ee
  5. 根据stack信息找到有问题的类和方法

jstat

  1. jstat -gc pid 250 4
  • S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)
  • EC、EU:Eden区容量和使用量
  • OC、OU:年老代容量和使用量
  • PC、PU:永久代容量和使用量
  • YGC、YGT:年轻代GC次数和GC耗时
  • FGC、FGCT:Full GC次数和Full GC耗时
  • GCT:GC总耗时
  1. jstat -gccapacity pid
  2. jstat -gcutil pid
  3. jstat -gcnew pid
  4. jstat -gcnewcapacity pid
  5. jstat -gcold pid
  6. jstat -gcoldcapacity pid
  7. jstat -gcpermcapacity pid
  8. jstat -class pid
  9. jstat -compiler pid
  10. jstat -printcompilation pid