it mmap und madvise für große Seit
Ich möchte Speicher auf den von einem Linux-Computer verwendeten Riesen-Seiten zuweisen. Ich sehe, dass es zwei Möglichkeiten gibt, dies mit @ zu tummap
undmadvise
.
Das heißt, mit derMAP_HUGETLB
Flagge mit demmmap
Anruf
base_ptr_ = mmap(NULL, memory_size_, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, -1, 0);
Und dieMADV_HUGEPAGE
Flagge mit demmadvise
Anruf
madvise(base_ptr_, memory_size_, MADV_HUGEPAGE);
Kann jemand den Unterschied zwischen den beiden erklären?