pg_data_t为node,代表NUMA不同属性的内存。
ZONE_DMA:16M
ZONE_NORMAL:896M
ZONE_HIGHMEM:896M+
分配内存时,由zone_t->page_min,zone_t->page_low,zone_t->page_high三个参数决定。
小于zone_t->page_min时,就要启动内存回收(kswadpd)
zone_t->page_min在x86上取值范围是20页至255页之间,[80K,1Mib]间
当zone的空闲页<pages_min时,同步启动kswap进程回收
当<pages_low时, kswap被buddy allocator启动。
Linux配置参数为page_min配置项为vm.min_free_kbytes。
centos 7上默认值为41M
对于大数据,应该适当提高,有文章上建议1-8G,防止不断swap。
网友评论