如何解决如果我映射没有设置访问位的内存区域,mlockall是否仍会强制其由物理内存支持?
默认情况下,直到第一次访问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内核是否会尽力做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。