- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想映射更大的内存区域,我希望只使用其中的一小部分。使用的内存需要读写权限。
下面两种映射虚拟内存的方法有区别吗:
mmap(0, size, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE, (-1), 0)
然后使用
mprotect(address, length, PROT_READ | PROT_WRITE)
当我需要一个页面时
与仅使用 PROT_READ 映射整个区域 | PROT_WRITE 权限从一开始即
mmap(0, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE, (-1), 0)
编辑以更好地融入我的平台:
CPU 型号名称:Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
内核版本:5.3.0-46-generic#38~18.04.1-Ubuntu SMP
最佳答案
我不知道将不需要的内存保留为 PROT_NONE
有任何性能优势,而且系统调用需要时间,因此使用 PROT_READ
分配所有内存几乎肯定会更快> 和 PROT_WRITE
,而不是在以后进行额外的系统调用。如果您想在自己的系统上确认这一点,那么只需编写一个测试这两种方式的基准测试即可。
关于c - 将 mmap 与 PROT_NONE 与 PROT_READ 结合使用之间是否存在性能差异?保护写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61845079/
我尝试使用mmap 函数分配一些具有只读访问权限的内存页。我打印了 /proc/self/maps 来检查内存保护是否正常工作。即使 mmap 的保护参数是 PROT_READ ,它还是这样显示 7
我一直在尝试使用 mprotect 来防止先读后写。 这是我的代码吗 #include #include #include #include #include int main(void)
我想映射更大的内存区域,我希望只使用其中的一小部分。使用的内存需要读写权限。 下面两种映射虚拟内存的方法有区别吗: mmap(0, size, PROT_NONE, MAP_ANONYMOUS | M
我的代码中有以下两行: use nix::sys::mman; use mman::{PROT_READ, PROT_WRITE, MAP_PRIVATE, MAP_ANON, MAP_NORESER
如果我创建一个 mmap(2) 文件,其 prot 参数仅为 PROT_READ 并且支持它的文件也被读取- 仅且不变,MAP_SHARED 和 MAP_PRIVATE 之间是否存在任何性能差异(或任
我正在尝试将一些 linux C++ 移植到 Windows,但一直停留在这样的一行 void* ptr = mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_PR
我有一个执行强力优化的并行 C++ 程序。出于某种原因,我得到的每个核心的返回递减到 ~6 个核心,此时我遇到了瓶颈,更多的核心增加了~没有速度。这在 8 核或 16 核机器上运行时是一致的。 当我运
我是一名优秀的程序员,十分优秀!