If you read the previous introductions to memory pools, you may find it useless. Here are some useful things -- netty memory pool tunable parameters
parameter name | illustrate | Defaults |
---|---|---|
io.netty.allocator.pageSize | page size | 8192 |
io.netty.allocator.maxOrder | The size of a chunk = pageSize << maxOrder | 11 |
io.netty.allocator.numHeapArenas | The number of heap arena | min (number of cpu cores, maxMemory/chunkSize/6), generally speaking = number of cpu cores |
io.netty.allocator.numDirectArenas | Number of direct arenas | min (number of cpu cores, directMemory/chunkSize/6), generally speaking = number of cpu cores |
io.netty.allocator.tinyCacheSize | The number of Entry in each MemoryRegionCache of tiny cache in PoolThreadCache | 512 |
io.netty.allocator.smallCacheSize | The number of Entry in each MemoryRegionCache of the small cache in PoolThreadCache | 256 |
io.netty.allocator.normalCacheSize | The number of Entry in each MemoryRegionCache of normal cache in PoolThreadCache | 64 |
io.netty.allocator.maxCachedBufferCapacity | Normal cache array length in PoolThreadCache | 32 * 1024 |
io.netty.allocator.cacheTrimInterval | The cache shrinkage threshold in PoolThreadCache. Every time this value, a shrinkage will be performed. | 8192 |
io.netty.allocator.type | Allocator type, set to unpooled if memory pool is not used | parties |
io.netty.noUnsafe | whether to close direct buffer | false |
io.netty.leakDetectionLevel | Memory leak detection level | SIMPLE |
After reading these, you will find that this description makes you think that I can still tune in this way, but it is still unclear what the use of tuning is. In fact, this is intentional. If you honestly read the previous articles, you will understand.