摘要: OOM内存溢出 1.metaspace内存溢出 metaspace元空间是在jvm参数中是可以设置大小的,之前有讲到元空间是存放类的一些信息,那么如果类信息太多,元空间放不下,那是不是会先出现内存溢出的情况呢,而一旦元空间内存溢出,也就意味着JVM没办法再正常运行下去了,系统直接奔溃,那么什么情况下 阅读全文
posted @ 2020-10-22 19:52 码一段代码 阅读(377) 评论(0) 推荐(0)
摘要: 本节主要记录下JVM调优中需要使用到的一些命令和工具,堆中内存配置如下: -Xms20M -Xmx20M -Xmn10M -XX:MetaspaceSize=1M -XX:MaxMetaspaceSize=1M -Xss225KB 使用下面这个代码,分别使用命令来看下堆的使用情况,这里使用的是win 阅读全文
posted @ 2020-10-19 09:01 码一段代码 阅读(149) 评论(0) 推荐(0)
摘要: 1.案例背景 假设有一个电商系统,高峰期每秒生成60M对象,一秒之后这60M对象变成垃圾对象,系统部署在4核8G的机器上。 2.内存分配 分配飞堆内存3G,新生代分配1.5G,那么老年代分配1.5G,元空间分配256M,每个线程的分配1M内存,如果JVM里面有几百个线程,那么就有几百M大小这样下来, 阅读全文
posted @ 2020-10-17 15:55 码一段代码 阅读(177) 评论(0) 推荐(0)
摘要: 基础参数: -Xms:java堆内存的大小 -Xmx:java堆内存的最大大小 -Xmn:java堆内存中新生代的大小,扣除新生代之后就是老年代的大小了 -XX:MetaspaceSize:元空间大小 -XX:MaxMetaspaceSize:元空间最大大小 -Xss:每个线程的大小 -XX:Sur 阅读全文
posted @ 2020-10-16 11:19 码一段代码 阅读(177) 评论(0) 推荐(0)
摘要: 本文转载自:https://fredal.xin/java-error-check 线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是d 阅读全文
posted @ 2020-10-16 09:40 码一段代码 阅读(264) 评论(0) 推荐(0)
摘要: 垃圾回收器G1 上节中有讲到ParNew和CMS垃圾回收器,ParNew用于新生代的垃圾回收,CMS用于老年代的垃圾回收,这两个垃圾回收器最大特点在于可以并发的进行垃圾回收,但是这两个垃圾回收器或多或少还是会“stop the world”,垃圾回收器的优化都是尽量去减少“stop the worl 阅读全文
posted @ 2020-10-15 20:03 码一段代码 阅读(219) 评论(0) 推荐(0)
摘要: 垃圾回收器ParNew+CMS 今天记录一下垃圾回收器ParNew和CMS 1.ParNew垃圾回收器 ParNew垃圾回收器用于回收新生代的垃圾,使用的垃圾回收算法用的就是上节中说的标记复制算法,将新生代eden区中的存活对象标记出来,然后将存活对象复制到一个survive 1区中,然后将eden 阅读全文
posted @ 2020-10-13 12:05 码一段代码 阅读(546) 评论(0) 推荐(0)
摘要: 上篇讲到了jvm的内存分配,这节记录一下jvm堆中新生代和老年代分别使用的垃圾算法 1.新生代 新生代使用的算法是复制算法,上节中说到新生代分为eden区和两个survivor区(S1,S2),那么新生代为什么要划分出这三个区域来呢,先从新生代的垃圾回收算法来说说这个 1.1.一种不太好的垃圾回收思 阅读全文
posted @ 2020-09-25 09:40 码一段代码 阅读(127) 评论(0) 推荐(0)
摘要: 上文说到类加载器对class文件进行加载,会将文件加载进jvm的内存中,即运行时数据区 运行时数据区又可细分为 JAVA栈、本地方法栈、程序计数器、堆、方法区(1.8前叫永久代,1.8后叫metaspace,元空间),下面主要写下对这几块区域的理解 1.方法区 主要是用于存放类的静态变量、常量、类信 阅读全文
posted @ 2020-09-24 15:32 码一段代码 阅读(142) 评论(0) 推荐(0)
摘要: 记录一下对jvm类加载器的理解。 jvm在启动的时候,会通过类加载器对class文件加载进jvm中,一般加载经历的过程为 加载->验证->准备->解析->初始化->使用->卸载; 加载:在代码中有使用到某个类的时候,就会加载到这个类,比如在执行某个方法时有 new Demo();这时就会对Demo类 阅读全文
posted @ 2020-09-24 09:58 码一段代码 阅读(106) 评论(0) 推荐(0)