我正在尝试运行一个简单的 malloc 程序来查看我的大页面环境是否已正确设置。libhugetlbfs 仅安装在默认系统目录 /usr/local 中。操作系统是 RHEL 6.7。我检查了 libhugetlbfs.so 是否在 /usr/lib64 文件夹中。当我使用
HUGETLB_MORECORE=yes LD_PRELOAD=libhugetlbfs.so运行代码时
编码
#include<stdio.h>
#include<stdlib.h>
int main()
{
double *x;
int y,i;
y = 15000000;
x = (double *)malloc(y*sizeof(double));
if (x != NULL)
{
printf("\nmalloc successful\n");
}
else
{
printf("malloc unsuccesfull");
}
}
输出给出
**ERROR: ld.so: object 'libhugetlbfs.so' from LD_PRELOAD cannot be preloaded: ignored.**
malloc successful
很明显 malloc dint 使用大页面发生。我检查了所有环境变量..找不到问题..任何建议???