Java性能监控与调优
白玉灬风
一枚小学生
展开
-
JVM参数类型
一、JVM参数类型JVM参数主要主要分为三大类:1、标准参数,例如-help、-server、-client、-version、-showversion、-cp、-classpath等相对稳定的命令。2、X参数,它是非标准化参数。在各个版本的JVM中可能会有变化,但是变化比较小。例如-Xint:解释执行。-Xcomp:第一次使用就编译成本地代码。-Xmixed:混合模式,JVM自己来决...原创 2019-01-30 20:33:32 · 271 阅读 · 0 评论 -
垃圾回收算法
Java垃圾回收思想枚举根节点,做可达性分析。根节点可以做根节点的有:类加载器、Thread、虚拟机栈的本地变量表、static成员、常量引用、本地方法栈的变量等。垃圾回收算法标记清除算法分为标记、清除两个阶段。首先标记处所有需要回收的对象,在标记完成后统一回收所有。缺点:效率不高,标记和清除两个过程的效率都不高。产生碎片,碎片过多会导致提前GC。复制算法它将可...原创 2019-03-05 20:39:15 · 154 阅读 · 0 评论 -
JVM内存结构
注:所有内容基于JDK1.8版本。一、运行时数据区在了解JVM内存结构前,先了解一个规范——运行时数据区。查看官方解释:Java虚拟机定义了在程序执行期间使用的各种运行时数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时销毁。其他数据区域是每个线程。线程数据区域是在线程退出时创建和销毁线程时创建的。(按照个人理解,就是JVM在执行Java程序时,会把内存划分...原创 2019-03-02 22:40:22 · 197 阅读 · 0 评论 -
jdk8 Metaspace 调优
简介从JDK8开始,永久代(PermGen)的概念被废弃掉了,取而代之的是一个称为Metaspace的存储空间。Metaspace使用的是本地内存,而不是堆内存,也就是说在默认情况下Metaspace的大小只与本地内存大小有关。当然你也可以通过以下的几个参数对Metaspace进行控制: -XX:MetaspaceSize=N 这个参数是初始化的Metaspace大小,该值越大触发M...转载 2019-08-28 21:22:30 · 203 阅读 · 0 评论 -
JVM发生OOM问题分析
当发生内存溢出,需要进行问题定位时,需要进行对内存映像文件进行分析,导出方式总共有两种:一、内存溢出自动导出对jvm参数进行设置两个参数:-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./二、使用jmap命令手动导出jmap -dump:format=b,file=head.hprof pid,其中pid为根据...原创 2019-09-03 21:12:18 · 437 阅读 · 0 评论