如果我映射没有设置访问位的内存区域,mlockall是否仍会强制其由物理内存支持?

时间:2020-09-16 23:58:00

标签: linux memory-management linux-kernel mmap mlock

默认情况下,直到第一次访问Linux时,Linux才真正不备份分配给list的页面的任何物理内存。但是,您可以通过调用library(dplyr) dplyr::lst(df1, df2) %>% bind_rows(.id = "name") # name v1 v2 #1 df1 1 11 #2 df1 2 12 #3 df1 3 13 #4 df1 4 14 #5 df1 5 15 #6 df1 6 16 #7 df1 7 17 #8 df1 8 18 #9 df1 9 19 #10 df1 10 20 #11 df2 11 1 #12 df2 12 2 #13 df2 13 3 #14 df2 14 4 #15 df2 15 5 #16 df2 16 6 #17 df2 17 7 #18 df2 18 8 #19 df2 19 9 #20 df2 20 10 来强制它这样做。

通过mmap分配内存但不设置任何访问位来创建保护页是一种常见的模式。因为实际上不会使用这些页面,所以如果mlockall(MCL_CURRENT | MCL_FUTURE)忽略了它们并且仍然没有真正支持这些页面,那就太好了。我可以假设吗? Linux内核是否会尽力做到这一点?

0 个答案:

没有答案