其他分享
首页 > 其他分享> > 浅谈jvm调优

浅谈jvm调优

作者:互联网

如何排查jvm cpu飙升问题?

1.如果系统是运行的,可以通过命令观察一下cpu高的进程

2.通过jmap -histo pid 查看当前进程里面 按照占用内存的排序的对象实例个数以及其大小,以及其class文件。

3.jastack pid 然后直接拿到线程id,去分析具体代码

 

可以先设置好dump文件是否需要生成以及生成路径,如果系统发生宕机,可以根据dump文件去分析

设置的地方:java -xx:PrintFlagFinal -version 打印所有jvm相关的参数

heapDumpOnOutOfMemerryError 设置为true    heapDumpPath设置路径

如果系统宕机:通过dump文件去分析,具体用jdk bin目录下的jvisualvm工具导入dump文件

 

 

       垃圾回收器有哪些?
  1. Serial(串行GC)-复制
  2. ParNew(并行GC)-复制
  3. Parallel Scavenge(并行回收GC)-复制
  4. Serial Old(MSC)(串行GC)-标记-整理
  5. CMS(并发GC)-标记-清除
  6. Parallel Old(并行GC)--标记-整理
  7. G1(JDK1.7update14才可以正式商用)
  说明:
  1. 1~3用于年轻代垃圾回收:年轻代的垃圾回收称为minor GC
  2. 4~6用于年老代垃圾回收(当然也可以用于方法区的回收):年老代的垃圾回收称为full GC
  3. G1独立完成"分代垃圾回收"
  注意:并行与并发
  1. 并行:多条垃圾回收线程同时操作
  2. 并发:垃圾回收线程与用户线程一起操作

标签:浅谈,dump,并行,回收,调优,GC,垃圾,jvm,线程
来源: https://www.cnblogs.com/zuoyi2319516228/p/16528212.html