JVM
文章平均质量分 74
u014753478
The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday lift.
展开
-
线上内存泄漏问题定位分析
线上内存泄漏定位分析原创 2021-05-30 14:55:39 · 114 阅读 · 0 评论 -
线上问题排查思路总结
前言: 本文总结一些常见的线上问题和对应的排查思路,工具。对于线上问题,我们必须记住一个原则:尽快恢复服务,消除影响。不管出于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题并不意味着必须在当下定位到问题。在大多数情况下,我们都是先恢复服务,尽可能多的保留当时的异常信息(内存dump,线程dump,gc log等),等到服务正常,再去复盘问题。下面描述几个经常会遇到的线上紧急问题。 常用的命令工具总结 1. top 命令 -H :Threads-mode operation In原创 2021-05-27 16:39:23 · 2425 阅读 · 1 评论 -
JVM相关知识总结:JVM性能调优
熟悉常用的JVM参数 X或者XX开头的都是非转标准化参数,意思就是说标准化参数不会变,非标准化参数可能在每个JDK版本中有所变化,但是目前来看X开头的非标准化参数改变的非常少。 格式:-XX:[+-]<name>表示启用或者禁用name属性。 例子:-XX:+UseG1GC(表示启用G1垃圾收集器) 堆设置: -Xms初始堆大小,ms是memory start的缩写,等价于: -XX:InitialHeapSize。 -Xmx最大堆大小,mx是memory max的缩写,等价于...原创 2021-03-04 12:04:13 · 269 阅读 · 1 评论 -
JVM相关知识总结:聊聊JVM的垃圾收集(二)
前言: 上一节我们介绍了JVM内存模型,常见的垃圾收集算法以及新生代的垃圾收集器。这篇文章会进一步总结老年代的垃圾收集器,如何选择合适的垃圾收集器以及JVM参数调优。 一、老年代垃圾收集器 1.1 Serial Old垃圾收集器 Serial Old收集器是工作在老年代的单线程垃圾收集器,跟Serial不同的是采用标记整理算法。 使用场景: 在Client模式下可以和Serial收集器配合使用,如果使用Server模式,可以和Parallel Scavenge收集器配合使用。另外一种是作为CMS的原创 2021-03-04 11:19:08 · 109 阅读 · 1 评论 -
JVM相关知识总结:聊聊JVM的垃圾收集(一)
前言 Java相对于C/C++来说,引入了自动的垃圾收集。平时我们在开发中很难感知到GC的存在,但是如果涉及到性能调优,线上问题排查,我们必须对GC有一个深入的了解。 一、JVM内存区域 为了介绍GC,我们首先要知道数据在JVM中是如何存储的,GC主要作用于哪块区域。 对上图做一个简单分析,我们可以看到内存区域分为五个: 虚拟机栈: 线程私有,由一个个栈帧组成,每个栈帧对应着一个调用的方法,保存有方法的局部变量等信息。方法被调用,栈帧入栈,方法结束,栈帧出栈。入栈和出栈时机很清楚。所以这部分不原创 2021-03-03 20:49:09 · 186 阅读 · 0 评论