mmap内存使用浅析
mmap的两个flag
MAP_ANONYMOUS
生成无backend的内存mapping.
MAP_POPULATE
populate page table,减少后面的page fault导致的延迟。Side effect是会将申请的所有内存映射到物理内存中,优点是后面从此内存池中申请内存不会发生page fault,速度应该更快。
auto mapped = mmap(nullptr, TOT_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE , -1, 0);
citrix环境中测试
测试无MAP_POPULATE标志
auto mapped = mmap(nullptr, TOT_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS , -1<