默认情况下,直到第一次访问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内核是否会尽力做到这一点?