gpt4 book ai didi

c - 如何获取huge page size的值?

转载 作者:行者123 更新时间:2023-12-02 05:00:03 24 4
gpt4 key购买 nike

我希望直接从我的 C 代码中获取大页面大小的值,而无需运行 bash 命令。

从 bash 我可以做到这一点

grep pse /proc/cpuinfo    > /dev/null && echo '2M huge page size are supported'
grep pdpe1gb /proc/cpuinfo> /dev/null && echo '1G huge page size are supported'

其次如何使用1G大页面大小的mmap?

谢谢

更新

代码片段

#include <stdio.h>
#include <limits.h>
#include <hugetlbfs.h>

int main(void){
long result1 = gethugepagesize();
printf( "%d\n", result1 );
long result2 = gethugepagesizes( NULL, 0);
printf( "%d\n", result2 );
long result3 = getpagesizes( NULL, 0);
printf( "%d\n", result3 );
printf("%d\n", PF_LINUX_HUGETLB);
return 0;
}

输出

2097152
1
2
1048576

这里 gethugepagesize 返回 2 Mb 那么 1Gb 大页面呢?

最佳答案

试试这个。

#include <hugetlbfs.h>
int getpagesizes(long pagesizes[], int n_elem);

关于c - 如何获取huge page size的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com