PooledByteBufAllocator的坑——不一定會池化

netty的PooledByteBufAllocator從名字上看就知道是使用池化內(nèi)存真朗,但其實(shí)在一些場景是不一定使用池化的逾冬。

1 jvm內(nèi)存小于96M的時(shí)候看疙,是不會使用池的
public static void main(String[] args) throws Exception {
        
        ByteBufAllocator byteBufAllocator = new PooledByteBufAllocator(false);
        for (int i = 0; i < 1000; i++) {
            ByteBuf buffer = byteBufAllocator.heapBuffer(1 * 1024 * 1024);
            System.out.println("分配了 " + 1 * (i + 1) + " MB");
            Thread.sleep(30);
        }
    }

使用jvm參數(shù)

-Xmx50m -Xms50m

會發(fā)現(xiàn)一直沒爆內(nèi)存:


image.png

這個(gè)是為什么呢:
斷點(diǎn)的時(shí)候看到畦浓,根本就沒有從池里分配內(nèi)存


image.png

heapArena為什么是null呢宴倍?
是因?yàn)閚HeapArena為0


image.png

nHeapArena是由DEFAULT_NUM_HEAP_ARENA決定的


image.png

核心邏輯是:

runtime.maxMemory() / defaultChunkSize / 2 / 3

defaultChunkSize 是16777216张症,就是16M
16Mx2x3=96M,也就是說 runtime.maxMemory()大于96M的時(shí)候鸵贬,才會用到池化俗他。

2 如果對象大于16M,也是不會使用池的
public static void main(String[] args) throws Exception {
        
        ByteBufAllocator byteBufAllocator = new PooledByteBufAllocator(false);
        for (int i = 0; i < 1000; i++) {
            ByteBuf buffer = byteBufAllocator.heapBuffer(20 * 1024 * 1024);
            System.out.println("分配了 " + 20 * (i + 1) + " MB");
            Thread.sleep(30);
        }
    }

使用參數(shù):

-Xmx200m -Xms200m 

發(fā)現(xiàn)內(nèi)存也是不會爆的阔逼。
這個(gè)是為什么呢兆衅,就是因?yàn)榉峙涞膬?nèi)存大于了16M
PoolArena類的allocateHuge方法是直接分配Unpooled的內(nèi)存的


image.png

為什么會走到allocateHuge呢?


image.png
16777216就是16M,所以是大于16M的時(shí)候就會這樣了羡亩。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末摩疑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子夕春,更是在濱河造成了極大的恐慌未荒,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件及志,死亡現(xiàn)場離奇詭異片排,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)速侈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門率寡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人倚搬,你說我怎么就攤上這事冶共。” “怎么了每界?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵捅僵,是天一觀的道長。 經(jīng)常有香客問我眨层,道長庙楚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任趴樱,我火速辦了婚禮馒闷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叁征。我一直安慰自己纳账,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布捺疼。 她就那樣靜靜地躺著疏虫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪啤呼。 梳的紋絲不亂的頭發(fā)上议薪,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音媳友,去河邊找鬼。 笑死产捞,一個(gè)胖子當(dāng)著我的面吹牛醇锚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼焊唬,長吁一口氣:“原來是場噩夢啊……” “哼恋昼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赶促,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤液肌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鸥滨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗦哆,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年婿滓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了老速。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凸主,死狀恐怖橘券,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卿吐,我是刑警寧澤旁舰,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站嗡官,受9級特大地震影響箭窜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谨湘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一绽快、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧紧阔,春花似錦坊罢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至乖仇,卻和暖如春憾儒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乃沙。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工起趾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人警儒。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓训裆,卻偏偏與公主長得像眶根,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子边琉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Tomcat本身不能直接在計(jì)算機(jī)上運(yùn)行属百,需要依賴于硬件基礎(chǔ)之上的操作系統(tǒng)和一個(gè)Java虛擬機(jī)。Tomcat的內(nèi)存溢...
    奇哥威武閱讀 896評論 0 0
  • Redis的內(nèi)存優(yōu)化 聲明:本文內(nèi)容來自《Redis開發(fā)與運(yùn)維》一書第八章变姨,如轉(zhuǎn)載請聲明族扰。 Redis所有的數(shù)據(jù)都...
    meng_philip123閱讀 18,874評論 2 29
  • Java動態(tài)追蹤技術(shù)探究 在Java虛擬機(jī)中,字符串常量到底存放在哪 一次生產(chǎn) CPU 100% 排查優(yōu)化實(shí)踐 聊...
    passiontim閱讀 4,049評論 0 38
  • 在一個(gè)方法內(nèi)部定義的變量都存儲在棧中定欧,當(dāng)這個(gè)函數(shù)運(yùn)行結(jié)束后渔呵,其對應(yīng)的棧就會被回收,此時(shí)忧额,在其方法體中定義的變量將不...
    Y了個(gè)J閱讀 4,413評論 1 14
  • 現(xiàn)在的生活中有很多的女人誤以為結(jié)婚了以后睦番,有了老公类茂,有了孩子,又不怎么出門托嚣,就不必打扮了巩检。 然而我認(rèn)為...
    寧琴娟閱讀 2,966評論 0 2