摘要:在设计堆的大小时。设计为比更大的数前提是内存允许。这样既可以降低堆调整的频率,还可以提高系统的负载能力新生代调优大小增大区。因为时间跟存活对象成正比新生代调优晋升尽可能让对象停留在中。
jvm支持的垃圾收集器组合 组合选择的标准
吞吐量=应用运行时间/总时间
关注gc总耗时
暂停时间
关注每次gc的耗时
一般来说,堆越大越好(gc频率小,但单次gc时间变长)
设置参数 -xms 堆的最小值 -xmx 堆的最大值 每次调整堆大小都会发生fullgc
思考:如果为了不发生fullgc,是否就总是设置-xms = -xmx答案:不是。在设计堆的大小时。设置-xms为预期堆内存。 -xmx设计为比-xms更大的数(前提是内存允许)。这样既可以降低堆调整的频率,还可以提高系统的负载能力
新生代调优--大小增大eden区。(减少gc频率,不一定增大gc时间。因为时间跟存活对象成正比)
新生代调优--晋升尽可能让对象停留在survivor中。降低majorgc的频率
但是要避免对象在survivor中不断复制
设置对象晋升年龄的极限值,没熬过一次gc,年龄就+1。到达极限值就晋升(但不绝对)
旧生代调优调优尽量先调新生代
平衡老年代的大小,不能太大或太小
直接加cpu,来的最快
调优工具文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/69517.html
摘要:做好的优化能大大提升系统的性能体系结构概览大致流程如图编译好的文件通过类加载器从物理结构转换成运行时数据区结构。后面再写一篇关于调优的 什么是jvm jvm是java虚拟机的缩写。所有的java程序都是在jvm上运行的。做好jvm的优化能大大提升系统的性能 jvm体系结构概览 showImg(https://segmentfault.com/img/bVba5lB?w=1049&h=6...
面试官:今天要不来聊聊JVM调优相关的吧?面试官:你曾经在生产环境下有过调优JVM的经历吗?候选者:没有面试官:...候选者:嗯...是这样的,我们一般优化系统的思路是这样的候选者:1. 一般来说关系型数据库是先到瓶颈,首先排查是否为数据库的问题候选者:(这个过程中就需要评估自己建的索引是否合理、是否需要引入分布式缓存、是否需要分库分表等等)候选者:2. 然后,我们会考虑是否需要扩容(横向和纵向都...
摘要:原文链接本篇是专家系列的第三篇。但是,请记住调优是不得已时的选择。缩短耗时的单次执行与相比,耗时有较明显的增加。创建文件过程中,进程会中断,因此不要在正常运行时系统上做此操作。因此校验结果并根据具体的服务需要,决定是否要进行调优。 原文链接:http://www.cubrid.org/blog/dev-platform/how-to-tune-java-garbage-collecti...
摘要:直接对栈的操作只有两个,就是对栈帧的压栈和出栈。中将永久代移除,同时增加元数据区。在中,本地方法栈和虚拟机栈是在同一块儿区域,这完全取决于技术实现的决定,并未在规范中强制。 原文:https://github.com/linsheng97... 描述一下 JVM 的内存区域 程序计数器(PC,Program Counter Register)。在 JVM 规范中,每个线程都有它自己的...
阅读 1545·2021-11-25 09:43
阅读 2444·2019-08-30 15:54
阅读 2906·2019-08-30 15:53
阅读 1063·2019-08-30 15:53
阅读 715·2019-08-30 15:52
阅读 2506·2019-08-26 13:36
阅读 778·2019-08-26 12:16
阅读 1168·2019-08-26 12:13