亚洲日韩精品无码一区二区三区
  • 首页
  • 日韩精品无码一本二本三本色
  • 97色色
  • 人妻少妇精品视频一区
  • 亚洲中文字幕久久无码精品
  • 18禁无遮挡羞羞污污污污网站
  • 色综合色狠狠天天综合色
  • 首页
  • 日韩精品无码一本二本三本色
  • 97色色
  • 人妻少妇精品视频一区
  • 亚洲中文字幕久久无码精品
  • 18禁无遮挡羞羞污污污污网站
  • 色综合色狠狠天天综合色

栏目分类

  • 日韩精品无码一本二本三本色
  • 97色色
  • 人妻少妇精品视频一区
  • 亚洲中文字幕久久无码精品
  • 18禁无遮挡羞羞污污污污网站
  • 色综合色狠狠天天综合色

热点资讯

  • 【死磕JVM】什么是JVM调优?
  • 0七5期耀阴单色球展视罚号:3区比吝惜
  • 赏读:半熟未颠末,教会瞅浓
  • 人平易远银止鲜雨含:境中主体持有境
  • 谁人望频仅有孩子材湿找到没有异的天

97色色

神话 JVM 性能优化很难?今天我小试了一把!
发布日期:2022-06-18 17:14    点击次数:109

神话 JVM 性能优化很难?今天我小试了一把!

对于 Java 开采的同学来说,JVM 性能优化不错说是比拟难左右的学问点。这不仅因为 JVM 性能优化需要左右晦涩难解的 JVM 学问,还因为 JVM 性能优化很难有使用场景。

这导致了许多人对 JVM 性能优化不熟谙,嗅觉就像是空中楼阁的天物一样不行波及。这几分内责中做了一次 JVM 性能优化,我想这对于 JVM 调优的初学者会有较大匡助。

配景

咱们都瓦解 JVM 分为了更生代和老年代,何况咱们在启动应用的技艺都会建立对应的参数,为应用舛误开动的 JVM 调度内存大小。但咱们都瓦解,好多技艺咱们都仅仅约莫臆测一个数,璷黫填填,然后就上线了。

作家所在的公司相似存在这种情况,JVM 内存大小基本上都设得挺大的,毕竟内存大总比内存溢出好,因此就变成了不少的内存糜费。是以作家收到的任务即是对扫数的应用进行一次排查,调度安妥的内存参数,优化 JVM 的性能。

调优实战

要对应用进行 JVM 性能调优,那么领先得瓦解其开动的情况。这就像去病院看大夫,去开药之前需要大夫先望闻问切一样。在 Java 中,有好多神志不错洞悉到 JVM 的里面情况,举例 JDK 提供的多样大叫职责。作家所在公司使用的是 Prometheus 进行监控,因此咱们不错凯旋在 Prometheus 上看到应用的 JVM 开动情况。

Prometheus 面板中与 JVM 联系的主要有四块内容:JVM Misc、JVM Memory Pools(Heap)、JVM Memory Pools(Non-Heap)、Garbage Collection。其中与咱们这次较为联系的主若是:JVM Memory Pools(Heap)和 Garbage Collection。

JVM Memory Pools(Heap) 展示 JVM 堆内存的使用情况,主要包括了更生代的 Survivor 区、Eden Space 区、老年代。

JVM Memory Pools(Heap)

Garbage Collection 展示 JVM 的垃圾回收情况,主要包括垃圾回收频率(ops 默示一秒回收几次,一般 0.5 是比拟合理的值)、每次 GC 停顿时长(一般 80ms 以下是合理值)、分拨到更生代/晋升老年代的内存。

Garbage Collection

咱们要进行 JVM 性能优化,那么最通俗的一个门径即是洞悉 Garbage Collection 的 GC 频率以及停顿时辰,咱们约莫就能判断出应用的内存诳骗效果。之后左证这两个值的本色情况,将其调度到合理的边界内,提高 JVM 的诳骗率。

如果一个应用的 GC 频率唯有 0.02,即每秒 GC 0.02 次,那么需要 50 秒才 GC 一次,那么其 GC 频率是很低的。这技艺很可能是分拨了较大的更生代空间,这使得其很久才需要 GC 一次。这技艺咱们再望望其停顿时辰,如果停顿时辰也很短的话,那咱们就不错判定该应用的内存有优化的空间。

在这种情况下,一般都是减轻分拨的更生代的空间。更生代空间一朝变小了,那么其分拨完的时辰就会缩减。一朝空间被分拨完,那么就会启动进行 GC 操作。从而 GC 次数就会进步,提高应用的内存诳骗率。

在进行内存空间调度的技艺,为了幸免内存剧烈波动导致的问题,97色色一般咱们都是小步快跑地少量点调度。先调度少量试一试,没太大问题之后再调度到狡计值。 毕竟是坐褥环境,若是出了什么岔子,那就得提桶跑路了,照旧严慎为好!

看到这里,想必全球应该也瓦解怎样做了。接下来无非即是调度 JVM 内存空间的三个参数(-Xmx -Xms -Xmn),使 GC 频率与 GC 停顿时辰处于合理的区间。

应用层面优化

除了 GC 频率、GC 停顿时辰,咱们还能从应用的类型来分析 JVM 的内存耗尽情况。

举例对于接口类型的系统来说,好多央求都是 1 秒之内就为止。对于这种类型的央求,他们干涉应用时会分拨内存,为止时内存就会坐窝被回收,留存下来的对象很少。这种应用的 JVM 内存情况能够是这么的:更生代耗尽比拟大,何况跟着周期性回收内存,但老年代的内存耗尽则更小。

对于那些不时性解决的应用,举例不时时辰长的应用解决。因为其存活时辰较久,是以可能会有更多的对象晋升到老年代,因此老年代的内存耗尽就比拟大。

通过洞悉 JVM 年青代与老年代的内存耗尽情况,再团结应用自身的特色,咱们不错发现应用中不对理的场合,再对应用进行针对性的优化。举例:应用某个场合每次都会存储广漠的临时数据到内容中,这么就变成了 JVM 可能爆发 GC,从而导致应用卡顿。

回顾

回顾一下本篇著述的调优门径:通过洞悉 GC 频率和停顿时辰,来进行 JVM 内存空间调度,使其达到最合理的气象。调度经由铭记小步快跑,幸免内存剧烈波动影响线上作事。 这其实是最为通俗的一种 JVM 性能调优神志了,不错算是粗调吧。但 JVM 性能调优还有更多、更详备的参数,后续有契机咱们再聊聊。

此外,通过洞悉 JVM 年青代与老年代的情况,也不错匡助咱们对应用进行针对性的优化,从而进步应用自身的性能。

如果你之前没了解过 JVM 的基础表面学问,那么你可能看不懂这篇著述。那么我推选你望望我的「JVM 基础初学系列」,著述由表及里、依次渐进,不错让你对 JVM 有个理性的团结。看完之后再来看这篇著述,你细目有种豁然豁达的嗅觉!

JVM 基础初学系传记送门:JVM 基础初学系列

对于 JVM 性能调优,就共享到这里吧。

本文转载自微信公众号「陈树义」,不错通过以下二维码暖和。转载本文请联系陈树义公众号。

 



上一篇:【死磕JVM】什么是JVM调优?
下一篇:死磕JVM | 用Arthas排查JVM内存 真爽!
    友情链接:

Powered by 亚洲日韩精品无码一区二区三区 @2013-2022 RSS地图 HTML地图