Sample Header Ad - 728x90

linux enable large page management

1 vote
0 answers
235 views
I am doing some experiments. Some huge pages (2MB) are used in the experiment, so that the 21-bit page offset can remain unchanged when performing virtual address translation. I found some methods on how to enable huge pages on the Internet. And that is effective. But I am not very clear about its principle, so I would like to ask? It requires Hugepages and assumes they are mounted on /mnt/hugetlbfs/. This value can be modified by changing the value of FILE_NAME. The mount point must be created previously: $ sudo mkdir /mnt/hugetlbfs. Once reserved, hugepages can be mounted: $ sudo mount -t hugetlbfs none /mnt/hugetlbfs Note that this may require to use sudo for the examples or to change the permissions of the /mnt/hugetlbfs/ folder. To enable a fixed amount of huge pages, after a reboot the number of huge pages must be set: $ echo 100 > /proc/sys/vm/nr_hugepages At the beginning, my understanding was that the original system was managed by 4Kb pages, and now I enable huge pages, then all the memory will be managed by huge pages. But I read some explanations and compared the commands. It feels like it has created a folder, and the files in this folder are managed by huge pages, and those that are not in this folder are managed by 4KB. In C language, I can use buffer = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE|HUGEPAGES, -1, 0); to create large pages. Is my understanding correct?
Asked by Gerrie (193 rep)
May 17, 2021, 02:27 AM