JVM原理及优化
文章平均质量分 79
JVM原理,以及JVM优化相关总结。
诸葛本不亮
程序猿一枚, 微信号:danwang2138
展开
-
【基础+实战】JVM原理及优化系列之一:JVM体系结构
1. JVM主要由两个子系统和两个组件组成:两个子系统:1、Class Loader 类加载器: 用于读入Java源代码并将类加载到数据区。2、Execution Engine 执行引擎: 执行来自数据区的指令。两个组件:1、运行时数据区:JVM的内存区域2、本地接口:即JNI,一个标准的java API,支持异构语言集成2. 体系结构图:附加说明:1、线程隔离区:指的是以...原创 2018-09-25 19:09:28 · 676 阅读 · 1 评论 -
【基础+实战】JVM原理及优化系列之九:JVM监控、分析与故障处理实战
1. 监控工具1. jvisualvm(JDK内置)2. jconsole(JDK内置)3. jmc(JDK内置)4. Jprofile(第三方)5. Eclipse Memory Analyzer6. JvisualVM插件2. JAVA命令行工具2.1 jps虚拟机进程状况工具常用的几个参数:-l 输出java应用程序的main clas...原创 2018-09-26 23:34:42 · 384 阅读 · 0 评论 -
【基础+实战】JVM原理及优化系列之八:如何查看JVM参数配置?
1. 查看JAVA版本信息2. 查看JVM运行模式 在$JAVA_HOME/jre/bin下有client和server两个目录,分别代表JVM的两种运行模式。 client运行模式,针对桌面应用,加载速度比server模式快10%,而运行速度为server模式的10分之一。client下默认的堆容量 -Xms1M -Xmx64M server运行模式,针对服务器应用。serv...原创 2018-09-26 10:08:47 · 1736 阅读 · 1 评论 -
【基础+实战】JVM原理及优化系列之七:JVM调优注意事项
1. JVM 调优策略 1.运行模式 2.内存分配优化 3.GC 调优 4.线程调优生产环境2. JVM配置原则1.编译器:启动服务器编译器,可以提高效率。 2.口志输出:开启口志输出,用于跟踪 GC 信息,方便后续进一步优化配置 3.堆大小:堆最大值按需分配,堆最小值设置为与堆最大值相同 4.选择合适的垃圾回收器:响应优先的应用首选 CMS 垃圾回收器、高吞吐大型计算应用...原创 2018-09-26 09:58:07 · 500 阅读 · 0 评论 -
生产环境tomcat参数设置建议
tomcat默认的参数配置是为开发环境定制的,所以内存和线程的配置都很低,如果直接应用在生产环境,很容易造成性能瓶颈;以下分别从JVM、线程池以及连接参数方面给出优化建议:1. JVM 优化:当内存为8G时,建议配置: JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms6144m -Xmx6144m -XX:NewSize=1024m -XX...原创 2018-10-01 20:23:46 · 2791 阅读 · 2 评论 -
【基础+实战】JVM原理及优化系列之六:JVM主要调优参数
为了方便JVM优化,下面将JVM参数根据分类做了总结,JVM调优可以从如下参数着手: 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结:【基础+实战】JVM原理及优化系列之一:JVM体系结构【基础+实战】JVM原理及优化系列之二:JVM内存管理【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器【基础+实战】JVM原理及...原创 2018-09-26 09:42:50 · 487 阅读 · 0 评论 -
【基础+实战】JVM原理及优化系列之五:JVM默认设置
1. 默认运行模式2. 不同运行模式下的默认GC3. 默认堆内存分配 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结:【基础+实战】JVM原理及优化系列之一:JVM体系结构【基础+实战】JVM原理及优化系列之二:JVM内存管理【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器【基础+实战】JVM原理及优化...原创 2018-09-26 09:29:16 · 392 阅读 · 0 评论 -
【基础+实战】JVM原理及优化系列之四:JVM参数说明
1. JVM参数分类1、标准参数(-),所有JVM都必须支持这些参数的功能,而且向后兼容;例如:-client——设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。-server——设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于...原创 2018-09-26 09:22:53 · 349 阅读 · 0 评论 -
tomcat内存优化及问题排查
tomcat内存错误常见的有三种分别:1. OutOfMemoryError: Java heap space(堆内存溢出)在排除应用服务内存泄漏的情况下,可以适当增加堆内存的大小解决该问题,及设置-Xms 和-Xmx ,一般不要查过物理内存的80%,并且最好两个值相等; 堆内存大小包括年轻代和年老代,同过-Xmn或者-XX:NewSize设置年轻代的大小,-Xmx减去年轻代大小等于老年...原创 2018-09-30 20:47:53 · 570 阅读 · 0 评论 -
【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器
1. 垃圾收集器介绍 2. 垃圾收集器使用搭配3. Sun/oracle JDK GC组合方式 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结:【基础+实战】JVM原理及优化系列之一:JVM体系结构【基础+实战】JVM原理及优化系列之二:JVM内存管理【基础+实战】JVM原理及优化系列之三:JVM...原创 2018-09-25 19:45:04 · 308 阅读 · 0 评论 -
【基础+实战】JVM原理及优化系列之二:JVM内存管理
1. 内存分配策略:1. 对象优先在Eden分配2. 大对象直接进入老年代3. 长期存活对象将进入老年代(当它的年龄增加到一定程度 (默认为15岁 ),就会被晋升到老年代中 。对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold来设置)4. 动态对象年龄判定(如果在 Survivor空间中相同年龄所有对象大小的总和大于 Survivor空间的一半,那么...原创 2018-09-25 19:28:36 · 417 阅读 · 0 评论 -
【基础+实战】JVM原理及优化系列之十:JVM内存泄漏专题实战
1. 定义1、内存泄漏:一般可以理解为系统资源(各方面的资源,堆、栈、线程等)在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收),从而造成那部分内存不可用的情况。2、内存溢出:指内存不够使用而抛出异常,内存泄露是其形成的原因之一。2. 危害会导致新的资源分配请求无法完成,引起系统错误,最后导致系统崩溃。3. 内存泄漏分类 类型 描述 ...原创 2018-09-27 11:13:34 · 746 阅读 · 0 评论