linux - 如何在 Linux 内核中分配大页面

标签 linux memory

我正在研究 Linux 中的透明巨页 (THP)。

我正在尝试调用 __get_free_pages(GFP_KERNEL|__GFP_COMP, mysize) 请求内核为我分配 2MB 大页面。

所以我想知道:

  1. 如果内核真的为我分配了大页面?
  2. 我如何检查该分配页面的内核页表以确保它是大页面。

最佳答案

有关内核内存分配的文档位于 Documentation/core-api/memory-allocation.rst 的源代码中

include/linux/vmalloc.h 中的许多 API 都采用 vm_flags,其中 VM_HUGETLB 可以是这些标志之一。

不是一个完整的答案,但我希望它的方向是正确的。

关于linux - 如何在 Linux 内核中分配大页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46212872/

相关文章:

c++ - Qt/嵌入式 : Caps Lock is not working

android - 分配游标时内存不足

c++ - 为类动态分配内存

linux - sudoers文件什么都没有也没有权限怎么编辑?

ruby - Ruby可以在Linux ALSA系统中录制PCM麦克风输入吗?

c++ - __xstat 动态符号解决 64 位错误

c - 关闭后如何重新绑定(bind)本地套接字?

c++ - 捕获 C++ 库崩溃的一致方法

java - ActiveMQ 内存消耗通过屋顶(页面文件)...该怎么办?

c - 什么会导致 Valgrind 堆栈跟踪中出现奇怪的地址?