MAP_HUGETLB 未定义
MAP_HUGETLB undefined
我想在 Linux 上测试巨大的内存页面分配。只是为了袖子里有另一种方法。但是我的测试根本无法编译。
pa = mmap(0, 1024*1024*2, PROT_READ, MAP_PRIVATE|MAP_HUGETLB, -1, 0)
产生:
error: use of undeclared identifier 'MAP_HUGETLB'
理想情况下,我希望映射一个文件。但匿名记忆也可以。
hugeadm --pool-list
的输出:
Size Minimum Current Maximum Default
2097152 1024 1024 1024 *
1073741824 0 0 0
问题是,我如何分配由大页面支持的内存?
您必须在 #include <sys/mman.h>
之前 #define _GNU_SOURCE
因为这是一个非标准标志。
我想在 Linux 上测试巨大的内存页面分配。只是为了袖子里有另一种方法。但是我的测试根本无法编译。
pa = mmap(0, 1024*1024*2, PROT_READ, MAP_PRIVATE|MAP_HUGETLB, -1, 0)
产生:
error: use of undeclared identifier 'MAP_HUGETLB'
理想情况下,我希望映射一个文件。但匿名记忆也可以。
hugeadm --pool-list
的输出:
Size Minimum Current Maximum Default
2097152 1024 1024 1024 *
1073741824 0 0 0
问题是,我如何分配由大页面支持的内存?
您必须在 #include <sys/mman.h>
之前 #define _GNU_SOURCE
因为这是一个非标准标志。