linux - 如何在 Linux 中分配满足分页和缓存能力要求的内存?

标签 linux memory-management

我想为一个大数组分配空间,该数组在程序结束前都是只写的。出于这个原因,我不在乎它是否被缓存。

我也想非常频繁地访问它,所以我不想多次访问页面。出于这个原因,我希望它被分配在一个大页面(例如 4M)中。

那我怎么能...

  • ...请求内存是不可缓存的还是直写的?
  • ...请求将内存放在一个大页面中?

我在 Linux 中工作。

最佳答案

如果它强制一直写入到 RAM,禁用缓存听起来会让您的写入速度变慢。我不确定我是否会尝试这样做。

要实际使用大页面,我建议关注 HugeTLB - Large Page Support in the Linux Kernel .它包含一个示例,说明如何通过共享内存段使用大页面。

关于linux - 如何在 Linux 中分配满足分页和缓存能力要求的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5692934/

相关文章:

linux - LD_LIBRARY_PATH 中的 grep 模式

linux - Linux 启动/停止时运行的脚本?

linux - Bash:如果管道 IO 空闲则关闭

memory-management - Linux内核中的内存映射

c++ - 为动态分配的数组分配更多内存

c++ - 没有空闲存储内存分配的 std::string

linux - 如何使用 awk 在模式后添加多行

linux - 从大型文本文件中提取和复制行和列

c++ - DirectX CreateBuffer 内存泄漏

c++ - 内存映射文件 - 如何在其他进程中插入一条数据