我的问题是mprotect
有多快。与 1 GB 的连续内存相比,mprotecting 说 1 MB 的连续内存有什么区别?我当然可以测量时间,但我想知道幕后发生了什么。
最佳答案
对源的快速检查似乎表明它迭代了选定区域中的进程映射并更改了它们的标志。如果您保护的不是整个映射,它会将其分成两个或三个。
简而言之,它是 O(n)
,其中 n
是您调用 mmap 的次数。
在/proc/pid/maps
可以看到当前所有的 map
关于c - mprotect有多快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104702/