标签:浅谈 dump 并行 回收 调优 GC 垃圾 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。