根据mlock()手册页:
当呼叫成功返回时,包含指定地址范围一部分的所有页面保证驻留在RAM中; 页面被保证留在RAM中,直到后来解锁。这是否也保证这些页面的物理地址在其整个生命周期中是恒定的,或者直到解锁?如果没有(也就是说,如果它可以被内存pipe理器移动 – 但仍然保留在RAM中),有什么可以说的新位置,或事件发生这样的变化?MPI客户端查找服务器端口失败(MPI_ERR_NAME:无效名称参数)跳过使用Wget成功下载的文件Bash脚本来读取文件是否有机会读取16字节/ dev / urandom数据两次,并得到相同的结果?打开多个文件,并立即接受提示更新:关于RAM中locking页面的一致性,可以说任何东西吗? 如果cpu有caching,那么mlock-ing保证与caching的RAM一致性(假设回写caching)?如何在Linux上使用gcc汇编在x86-64中设置控制寄存器0(cr0)位在GNU / Linux上生成lnk文件以转移到Windowssetgid()失败 – 不允许操作有没有办法启动/停止与Python的Linux进程?将Os.system存储为variables号mlocked页面使用内核的不可修改的LRU列表进行管理。 顾名思义(和mlock()保证)这些页面不能从RAM中驱逐。 但是,页面可以从一个物理页面框架迁移到另一个。 这里是一个不可预知的LRU基础设施摘录(格式添加为清晰):迁移mlockED页面
正在迁移的页面已经从LRU列表中分离出来,并且在取消映射页面,更新页面的地址空间条目以及复制内容和状态时保持锁定状态,直到页表项被替换为引用新的页面。 Linux支持mlocked页面和其他不可修复页面的迁移。 这涉及到简单地将PG_mlocked和PG_unevictable状态从旧页面移动到新页面。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。