浅谈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文件
垃圾回收器有哪些?
- Serial(串行GC)-复制
- ParNew(并行GC)-复制
- Parallel Scavenge(并行回收GC)-复制
- Serial Old(MSC)(串行GC)-标记-整理
- CMS(并发GC)-标记-清除
- Parallel Old(并行GC)--标记-整理
- G1(JDK1.7update14才可以正式商用)
- 1~3用于年轻代垃圾回收:年轻代的垃圾回收称为minor GC
- 4~6用于年老代垃圾回收(当然也可以用于方法区的回收):年老代的垃圾回收称为full GC
- G1独立完成"分代垃圾回收"
- 并行:多条垃圾回收线程同时操作
- 并发:垃圾回收线程与用户线程一起操作
标签:浅谈,dump,并行,回收,调优,GC,垃圾,jvm,线程 来源: https://www.cnblogs.com/zuoyi2319516228/p/16528212.html