成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

經(jīng)驗分享 JVM調(diào)優(yōu)方法總結(jié)

開發(fā) 后端
這里做一下JVM調(diào)優(yōu)總結(jié),首先要了解Young(年輕代),Tenured(年老代)和Perm(持久代)這幾個概念,年輕代分三個區(qū),一個Eden區(qū),兩個Survivor區(qū);年老代存放從年輕代存活的對象;而用于存放靜態(tài)文件,如今Java類、方法等。

你對JVM調(diào)優(yōu)是否熟悉,這里向大家描述一下,首先要了解幾個概念,比如說Perm持久代,用于存放靜態(tài)文件,如今Java類、方法等。持久代對垃圾回收沒有顯著影響,但是有些應(yīng)用可能動態(tài)生成或者調(diào)用一些class,例如Hibernate等。

JVM調(diào)優(yōu)總結(jié)

Young(年輕代)

年輕代分三個區(qū)。一個Eden區(qū),兩個Survivor區(qū)。大部分對象在Eden區(qū)中生成。當(dāng)Eden區(qū)滿時,還存活的對象將被復(fù)制到Survivor區(qū)(兩個中的一個),當(dāng)這個Survivor區(qū)滿時,此區(qū)的存活對象將被復(fù)制到另外一個Survivor區(qū),當(dāng)這個Survivor去也滿了的時候,從***個Survivor區(qū)復(fù)制過來的并且此時還存活的對象,將被復(fù)制“年老區(qū)(Tenured)”。需要注意,Survivor的兩個區(qū)是對稱的,沒先后關(guān)系,所以同一個區(qū)中可能同時存在從Eden復(fù)制過來對象,和從前一個Survivor復(fù)制過來的對象,而復(fù)制到年老區(qū)的只有從***個Survivor去過來的對象。而且,Survivor區(qū)總有一個是空的。

Tenured(年老代)

年老代存放從年輕代存活的對象。一般來說年老代存放的都是生命期較長的對象。

Perm(持久代)

用于存放靜態(tài)文件,如今Java類、方法等。持久代對垃圾回收沒有顯著影響,但是有些應(yīng)用可能動態(tài)生成或者調(diào)用一些class,例如Hibernate等,在這種時候需要設(shè)置一個比較大的持久代空間來存放這些運(yùn)行過程中新增的類。持久代大小通過-XX:MaxPermSize=<N>進(jìn)行設(shè)置。

JVM調(diào)優(yōu)之年輕代大小選擇

◆響應(yīng)時間優(yōu)先的應(yīng)用:盡可能設(shè)大,直到接近系統(tǒng)的***響應(yīng)時間限制(根據(jù)實際情況選擇)。在此種情況下,年輕代收集發(fā)生的頻率也是最小的。同時,減少到達(dá)年老代的對象。

◆吞吐量優(yōu)先的應(yīng)用:盡可能的設(shè)置大,可能到達(dá)Gbit的程度。因為對響應(yīng)時間沒有要求,垃圾收集可以并行進(jìn)行,一般適合8CPU以上的應(yīng)用。

JVM調(diào)優(yōu)之年老代大小選擇

◆響應(yīng)時間優(yōu)先的應(yīng)用:年老代使用并發(fā)收集器,所以其大小需要小心設(shè)置,一般要考慮并發(fā)會話率和會話持續(xù)時間等一些參數(shù)。如果堆設(shè)置小了,可以會造成內(nèi)存碎片、高回收頻率以及應(yīng)用暫停而使用傳統(tǒng)的標(biāo)記清除方式;如果堆大了,則需要較長的收集時間。***化的方案,一般需要參考以下數(shù)據(jù)獲得:

1.并發(fā)垃圾收集信息

2.持久代并發(fā)收集次數(shù)

3.傳統(tǒng)GC信息

4.花在年輕代和年老代回收上的時間比例

減少年輕代和年老代花費(fèi)的時間,一般會提高應(yīng)用的效率

◆吞吐量優(yōu)先的應(yīng)用:一般吞吐量優(yōu)先的應(yīng)用都有一個很大的年輕代和一個較小的年老代。原因是,這樣可以盡可能回收掉大部分短期對象,減少中期的對象,而年老代盡存放長期存活對象。

JVM調(diào)優(yōu)之較小堆引起的碎片問題

因為年老代的并發(fā)收集器使用標(biāo)記、清除算法,所以不會對堆進(jìn)行壓縮。當(dāng)收集器回收時,他會把相鄰的空間進(jìn)行合并,這樣可以分配給較大的對象。但是,當(dāng)堆空間較小時,運(yùn)行一段時間以后,就會出現(xiàn)“碎片”,如果并發(fā)收集器找不到足夠的空間,那么并發(fā)收集器將會停止,然后使用傳統(tǒng)的標(biāo)記、清除方式進(jìn)行回收。如果出現(xiàn)“碎片”,可能需要進(jìn)行如下配置:

◆-XX:+UseCMSCompactAtFullCollection:使用并發(fā)收集器時,開啟對年老代的壓縮。

◆-XX:CMSFullGCsBeforeCompaction=0:上面配置開啟的情況下,這里設(shè)置多少次FullGC后,對年老代進(jìn)行壓縮

【編輯推薦】

  1. JVM調(diào)優(yōu)技巧集錦
  2. 探究JVM1.6與JVM1.5性能差距
  3. JVM監(jiān)控在本地和遠(yuǎn)程的應(yīng)用
  4. 圖例解析JVM調(diào)優(yōu)
  5. JVM啟動參數(shù)中標(biāo)準(zhǔn)參數(shù)列表速查手冊
責(zé)任編輯:佚名 來源: qqtang.spaces.live.com
相關(guān)推薦

2012-01-10 14:35:08

JavaJVM

2012-01-10 15:13:56

JavaJVM

2011-07-01 10:09:50

ASP.NET

2021-03-17 11:35:11

JVM代碼Java

2010-09-25 13:05:07

JVM參數(shù)

2012-01-10 14:18:40

JavaJVM

2019-12-20 14:21:26

JVM調(diào)優(yōu)垃圾回收

2021-05-12 13:40:16

JVM調(diào)優(yōu)經(jīng)驗

2019-09-17 08:56:29

TomcatJVM性能

2012-01-09 16:53:36

JavaJVM

2012-01-09 16:02:19

JavaJVM

2017-07-21 08:55:13

TomcatJVM容器

2023-11-11 19:07:23

JVMJava

2012-01-10 11:19:35

JavaJVM

2012-01-09 17:06:16

JavaJVM

2009-07-08 11:11:23

JVM

2010-09-26 13:39:46

JVM調(diào)優(yōu)

2010-09-26 09:08:17

JVM調(diào)優(yōu)

2023-07-31 07:33:05

JVM調(diào)優(yōu)Full GC

2021-06-03 08:32:18

JVM調(diào)優(yōu)虛擬機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 特一级毛片 | 一区二区久久精品 | 亚洲二区在线 | 欧美福利专区 | 91人人看| 妞干网福利视频 | 91人人在线 | 成人久久久久 | 91av视频 | 日韩综合| 国产成人精品一区二区 | 亚洲精品欧美 | 日韩一区在线播放 | 亚洲精品视频在线播放 | 91精品国产综合久久小仙女图片 | 久久精品亚洲精品国产欧美 | av一区二区三区四区 | 毛片网站在线观看 | av影音 | www.久久99| 国产色婷婷久久99精品91 | 欧美日韩一区二区三区四区五区 | 欧美一区二区三区四区在线 | 亚洲人人| 欧美偷偷 | 国产高清在线观看 | 国产一区二区三区视频在线观看 | 久久精品国产亚洲 | 免费看大片bbbb欧美 | 国精日本亚洲欧州国产中文久久 | 91porn成人精品 | 国产一在线观看 | 91视视频在线观看入口直接观看 | av影音资源 | 国产精品成人一区二区三区吃奶 | 蜜臀网站 | 国产午夜精品久久久久 | 99爱视频 | 蜜月va乱码一区二区三区 | 99re国产视频 | 日日噜噜噜夜夜爽爽狠狠视频97 |