如果你看了前面的幾篇內存池的介紹,你可能會覺得並沒有什麼卵用。 這裏就搞點有用的 -- netty內存池可調優參數
參數名 | 說明 | 默認值 |
---|---|---|
io.netty.allocator.pageSize | page的大小 | 8192 |
io.netty.allocator.maxOrder | 一個chunk的大小=pageSize << maxOrder | 11 |
io.netty.allocator.numHeapArenas | heap arena的個數 | min(cpu核數,maxMemory/chunkSize/6),一般來說會=cpu核數 |
io.netty.allocator.numDirectArenas | direct arena的個數 | min(cpu核數,directMemory/chunkSize/6),一般來說會=cpu核數 |
io.netty.allocator.tinyCacheSize | PoolThreadCache中tiny cache每個MemoryRegionCache中的Entry個數 | 512 |
io.netty.allocator.smallCacheSize | PoolThreadCache中small cache每個MemoryRegionCache中的Entry個數 | 256 |
io.netty.allocator.normalCacheSize | PoolThreadCache中normal cache每個MemoryRegionCache中的Entry個數 | 64 |
io.netty.allocator.maxCachedBufferCapacity | PoolThreadCache中normal cache數組長度 | 32 * 1024 |
io.netty.allocator.cacheTrimInterval | PoolThreadCache中的cache收縮閾值,每隔該值次數,會進行一次收縮 | 8192 |
io.netty.allocator.type | allocator類型,如果不使用內存池,則設置爲unpooled | pooled |
io.netty.noUnsafe | 是否關閉direct buffer | false |
io.netty.leakDetectionLevel | 內存泄露檢測級別 | SIMPLE |
看了這些,你會發現這個說明讓你覺得原來我還可以這麼調優,但是調了有什麼用依然不清楚。其實這是故意的,老老實實去看完前面幾篇文章自然就明白了,哈哈。