日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JVM 调优(学习篇)

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM 调优(学习篇) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述


公司的江南白衣寫了一篇關鍵業務系統的JVM參數推薦(2016熱冬版)的文章,大牛的文章總是需要細細品讀。這篇文章介紹大量的JVM調優參數,內容也比較多,本文只是列出我自己能理解的一些參數,暫時理解不了的參數就只能等以后自己實力到家了,再慢慢補充上來。

?

性能調優參數


-XX:AutoBoxCacheMax

JAVA進程啟動的時候,會加載rt.jar這個核心包,rt.jar包里的Integer自然也會被加載到JVM中,Integer里面有一個IntegerCache緩存,如下:

private?static?class?IntegerCache?{static?final?int?low?=?-128;static?final?int?high;static?final?Integer?cache[];static?{//?high?value?may?be?configured?by?propertyint?h?=?127;String?integerCacheHighPropValue?=sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");if?(integerCacheHighPropValue?!=?null)?{int?i?=?parseInt(integerCacheHighPropValue);i?=?Math.max(i,?127);//?Maximum?array?size?is?Integer.MAX_VALUEh?=?Math.min(i,?Integer.MAX_VALUE?-?(-low)?-1);}high?=?h;cache?=?new?Integer[(high?-?low)?+?1];int?j?=?low;for(int?k?=?0;?k?<?cache.length;?k++)cache[k]?=?new?Integer(j++);}private?IntegerCache()?{} }

IntegerCache有一個靜態代碼塊,JVM在加載Integer這個類時,會優先加載靜態的代碼。當JVM進程啟動完畢后, -128 ~ +127 范圍的數字會被緩存起來,調用valueOf方法的時候,如果是這個范圍內的數字,則直接從緩存取出。
超過這個范圍的,就只能構造新的Integer對象了。

public?static?Integer?valueOf(int?i)?{assert?IntegerCache.high?>=?127;if?(i?>=?IntegerCache.low?&&?i?<=?IntegerCache.high)return?IntegerCache.cache[i?+?(-IntegerCache.low)];return?new?Integer(i); }

因此可以根據實際情況把AutoBoxCacheMax的值設置的大些,比如江南白衣推薦的

-XX:AutoBoxCacheMax=20000

?

-XX:+AlwaysPreTouch

JAVA進程啟動的時候,雖然我們可以為JVM指定合適的內存大小,但是這些內存操作系統并沒有真正的分配給JVM,而是等JVM訪問這些內存的時候,才真正分配,這樣會造成以下問題。
1、GC的時候,新生代的對象要晉升到老年代的時候,需要內存,這個時候操作系統才真正分配內存,這樣就會加大young gc的停頓時間;
2、可能存在內存碎片的問題。

可以在JVM啟動的時候,配置

-XX:+AlwaysPreTouch

參數,這樣JVM就會先訪問所有分配給它的內存,讓操作系統把內存真正的分配給JVM,后續JVM就可以順暢的訪問內存了。

?

GC參數


JAVA 1.7用的垃圾收集算法還是CMS,下文提到的參數都是針對CMS的。

CMSInitiatingOccupancyFraction

之前寫過一篇java垃圾回收算法之-CMS(并發標記清除),里面提到垃圾收集線程會跟應用的線程一起并行的工作,萬一垃圾收集線程在工作的時候,老年代內存不足怎么辦?因此最好還是提前啟動CMS來收集垃圾(CMS GC)。
可以通過設置

CMSInitiatingOccupancyFraction=75

那么當老年代堆空間的使用率達到75%的時候就開始執行垃圾回收,CMSInitiatingOccupancyFraction默認值是92%,這個就太大了。
CMSInitiatingOccupancyFraction參數必須跟下面兩個參數一起使用才能生效的。

-XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly

?

MaxTenuringThreshold

新生代是使用copy算法來進行垃圾回收的,可以參看

java垃圾回收算法之-coping復制

默認情況下,當新生代執行了15次young gc后,如果還有對象存活在Survivor區中,那么就可以直接將這些對象晉升到老年代,但是由于新生代使用copy算法,如果Survivor區存活的對象太久的話,Survivor區存活的對象就越多,這個就會影響copy算法的性能,使得young gc停頓的時間加長,建議設置成6。

-XX:MaxTenuringThreshold=6

?

ExplicitGCInvokesConcurrent

如果系統使用堆外內存,比如用到了Netty的DirectByteBuffer類,那么當想回收堆外內存的時候,需要調用

System.gc()

而這個方法將進行full gc,整個應用將會停頓,如果是使用CMS垃圾收集器,那么可以設置

-XX:+ExplicitGCInvokesConcurrent

這個參數來改變System.gc()的行為,讓其從full gc --> CMS GC,CMS GC是并發收集的,且中間執行的過程中,只有部分階段需要stop the world。

注意:設置了ExplicitGCInvokesConcurrent,那就不要設置DisableExplicitGC參數來禁掉System.gc()。

?

內存參數


-Xmx, -Xms

這兩個一般都是設置4個g

?

NewRatio

GC最多的還是發生在新生代的young gc,所以可以提高一下新生代在整個堆的占用比例,建議設置為對半分,盡量避免young gc

-XX:NewRatio=1

總結

以上是生活随笔為你收集整理的JVM 调优(学习篇)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一级二级三级在线 | 99国产精品自拍 | 色噜噜在线 | 又大又粗弄得我出好多水 | 人人舔人人插 | 精品人妻一区二区三区浪潮在线 | 香蕉视频链接 | 懂色中文一区二区在线播放 | 国产精品毛片视频 | 曰韩在线 | 91国内| 欧美色图片区 | 一级欧美在线 | 伊人春色av | 欧日韩精品 | 看毛片网 | 免费一区二区在线观看 | 国产在线1区 | 国产成人97精品免费看片 | 日韩国产精品一区二区 | 亚洲av无码一区二区二三区软件 | 韩国中文字幕hd久久精品 | 老色鬼网站 | 日韩精品在线观看中文字幕 | 78m78成人免费网站 | 亚洲男人天堂2023 | 貂蝉被到爽流白浆在线观看 | 横恋母在线观看 | 亚洲激情在线观看 | 黄色激情视频在线观看 | 99在线视频免费观看 | 日日操夜夜操天天操 | 中字幕一区二区三区乱码 | ass精品国模裸体欣赏pics | 自拍偷拍日韩精品 | 午夜精品美女久久久久av福利 | 山村大伦淫第1部分阅读小说 | 超碰人人人 | av成人动漫| 亚洲乱码在线 | 91成人综合 | 亚洲日批 | 狠狠天天 | 国产性一乱一性一伧一色 | 视频一区二区在线 | 男男肉耽高h彩漫 | 国产精品久久免费视频 | 手机在线看片福利 | 国产精品成人网 | 国产成人精品亚洲精品色欲 | 国产久精品 | 玩日本老头很兴奋xxxx | 天天草夜夜操 | 中文字幕在线视频精品 | 午夜精品一区二 | 国产成人在线观看免费 | 182午夜视频 | 九九热最新视频 | 中文字幕亚洲乱码熟女一区二区 | 亚洲精品综合在线观看 | 国产亚洲精品久久久久丝瓜 | 综合久久久久综合 | 巨胸喷奶水www久久久免费动漫 | 二区欧美| 国产精品视频免费观看 | 日日夜夜狠狠爱 | 日韩精品字幕 | 久久国产毛片 | 日韩和一区二区 | 午夜做爰xxxⅹ性高湖视频美国 | 亚洲人 女学生 打屁股 得到 | 久久久精品中文字幕麻豆发布 | 一区二区片 | 毛片视频大全 | 国产美女www爽爽爽 www.国产毛片 | 亚洲美女性生活视频 | 亚洲黄视频 | 欧美四区 | 在线播放无码后入内射少妇 | 国产精品无码av在线有声小说 | 亚洲av无码片一区二区三区 | 国产熟妇与子伦hd | 国产成人无码精品 | 97公开免费视频 | www国产精品内射老熟女 | 国产免费黄色录像 | аⅴ资源新版在线天堂 | 欧美性生交大片免费看app麻豆 | 成人久久久精品国产乱码一区二区 | 婷婷激情小说网 | 国产精品一区二区无码免费看片 | 成年人免费视频观看 | 亚洲五月婷婷 | 偷拍亚洲色图 | av三级网站 | 成人黄色性视频 | 久久a久久| 天堂成人 | av片网|