#include <sys/mman.h> #include <stdlib.h> #ifndef MAP_HUGETLB #define MAP_HUGETLB 0x0040000 #endif int main() { for (int i=0; i!=10000000; ++i) { void* ptr=mmap(NULL, 2*1024*1024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_HUGETLB, 0, 0); if (ptr!=MAP_FAILED) abort(); } return 0; } ------- g++ -O2 test.cpp && echo good good $ egrep 'SUnreclaim|HugePages_Total' /proc/meminfo SUnreclaim: 1900756 kB HugePages_Total: 0 $ ./a.out && echo good good $ egrep 'SUnreclaim|HugePages_Total' /proc/meminfo SUnreclaim: 2213268 kB HugePages_Total: 0
※本站提供的任何内容、代码与服务仅供学习,请勿用于非法用途,否则后果自负
您的会员可兑换次数还剩: 次 本次兑换将消耗 1 次
续费请拨打客服热线,感谢您一直支持 Seebug!
暂无评论