java虚拟机 p1~p8

image.png

1.GC清理垃圾的三种方式(标记算法,根可达算法)

  • mark-sweep(标记清除) → 碎片化
  • copying(复制) → 空间浪费
  • mark-compact(标记压缩) → 效率低

2.垃圾回收器

  • 垃圾回收器版本查询java -XX:+PrintCommandLineFlags -version

image.png

3.堆内存

  • minorGC = YGC = 年轻代回收
    eden(伊甸),survivor1(幸存者1),survivor2(幸存者2)
  • majorGC = OGC = 老年代回收
    tenured
  • methodarea:perm(持久代)/metaspace(元数据)

image.png

4.GC参数获取命令

  • java -help → 标准参数
  • java -X → 非标参数
  • java -XX:PrintFlagsFinal -version → 自定参数

5.cpu 100%时,首先查线程

  • 业务线程(查业务bug)
  • jvm线程(可能频繁GC,看log)

6.调优命令

  • java自带
jps
jinfo pid
jstat -gc pid
jstack pid
jmap
help
help [cmd]
dashboard
thread
thread -b
thread [tid]
watch
jad
redefine
heapdump

LiuJi
7 声望0 粉丝