Linux マシンで使用されているヒュージページにメモリを割り当てたいと考えています。mmap
これを行うには、とを使用する 2 つの方法があることがわかりますmadvise
。
つまり、呼び出しでMAP_HUGETLB
フラグを使用する -mmap
base_ptr_ = mmap(NULL, memory_size_, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, -1, 0);
そして、コールのMADV_HUGEPAGE
フラグ-madvise
madvise(base_ptr_, memory_size_, MADV_HUGEPAGE);
誰かが2つの違いを説明できますか?