JVM
微步229
这个作者很懒,什么都没留下…
展开
-
JVM 参数使用详解
JVM命令行参数主要有3类:1、标准参数(eg:-client),可通过java --help查看所有标准参数2、X参数,非标准参数(eg:-Xmxsize),可通过java -X查看所有标准参数3、XX参数,非稳定参数(eg:-XX:+AggressiveOpts)。参数使用说明:-XX:+option 启用选项-XX:-option 不启用选项-XX:option=numbe...原创 2018-09-28 10:28:28 · 351 阅读 · 0 评论 -
JVM监控工具详解
企业级应用开发中经常会遇到以下问题,可以使用工具对JVM进行监管,以便及时查找问题所在。 内存不足OutOfMemory(大对象没有gc等),内存泄露; 线程死锁,线程数过多; 锁争用(Lock Contention),资源未及时释放(数据库); Java进程CPU消耗过高.一、Java自带工具 Java安装目录的bin文件加下有一些工具可以用来监控JVM性能,如jcon...转载 2018-09-27 14:32:03 · 553 阅读 · 0 评论 -
JVM堆内存(heap)详解
很好的一篇文章,转载了http://blog.51cto.com/lizhenliang/2164876?wx=JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老...转载 2018-09-10 11:10:11 · 48360 阅读 · 7 评论 -
JVM内存结构详解
主要内容如下:JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一、JVM启动流程:JVM启动时,是由java命令/javaw命令来启动的。二、JVM基本结构:JVM基本结构图:《深入理解Java虚拟机(第二版)》中的描述是下面这个样子的: Java中的内存分配:Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,就...转载 2018-09-28 11:10:19 · 259 阅读 · 0 评论 -
某大型跨境电商JVM调优总结
转自:https://scholers.iteye.com/blog/2411414前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的运行情况,特别是jvm内存的情况,一直没有一个统一的标准来给到各个应用服务的owner。经过618大促之后,和运维的同学讨论了下,希望将线上服务器的jvm参数标准化,可以以一个统一的方式给到各个应用,提升线上服务器的稳定性,同时减少大...转载 2018-12-14 11:06:19 · 586 阅读 · 1 评论 -
GC调优一:GC算法实现
转自:https://blog.csdn.net/dabokele/article/details/60601818 在了解了上一章中GC算法的基本概念之后,本章将深入到各GC算法的具体实现中。对大多数JVM来说,一般需要选择两种GC算法,一种用于回收新生代内存区,另一种用于回收老年代内存区域。 新生代和老年代GC算法的可能组合如下表所示,如果不指定的话,将会在新生代和老年代中选择默认的...转载 2018-12-10 11:15:29 · 1657 阅读 · 0 评论 -
GC调优二:GC调优基本概念
一、核心概念 首先,我们来观察一条工厂的生产线,该生产线主要用于将自行车各个组件拼装成一辆完整的自行车。通过观察我们发现一辆自行车从车架上生产线开始装配,直到拼装成完整自行车后下线的整个耗时为4小时,如下图所示。 并且,我们还观察到这条生产线上每分钟就会有一辆组装好的自行车下线,该生产线每天24小时不间断运行。如果忽略掉例如生产线维护等时间成本,可以算出,该生产...转载 2018-12-10 11:20:43 · 755 阅读 · 1 评论 -
GC调优三:GC调优工具
在进行JVM GC性能调优之前,需要使用某些工具获取到当前应用的状态信息。 可以利用JVM运行时的一些原始数据来观察当时的GC性能。并且基于这些原始数据也衍生出一些经过分析统计后得到的指标。在原始数据中包含以下内容:当前内存池的使用情况 当前内存池的容量 每次GC暂停的耗时 GC暂停的各阶段的耗时 基于这些内容分析统计得到的一些指标包括应用内存分配率,提升率等等。本章中...转载 2018-12-10 11:24:46 · 2011 阅读 · 0 评论 -
CMS之promotion failed&concurrent mode failure
CMS并行GC收集器是大多数JAVA服务应用的最佳选择,然而, CMS并不是完美的,在使用CMS的过程中会产生2个最让人头痛的问题:promotion failed该问题是在进行Minor GC时,Survivor Space放不下,对象只能放入老年代,而此时老年代也放不下造成的。(promotion failed时老年代CMS还没有机会进行回收,又放不下转移到老年代的对象,因此会出现下一...转载 2019-06-19 15:31:05 · 499 阅读 · 0 评论