Linux:页面错误和网络文件系统
如果 Linux 系统耗尽物理内存,它是否会删除不活动的可执行代码页?我认为答案是肯定的,因为没有理由将它们保留在交换中,因此它们只是被丢弃并在必要时重新加载(据我所知,这就是 FreeBSD 所做的)。
如果上述情况对于 Linux 来说是正确的,我的问题是,它如何处理从网络文件系统(例如 NFS)运行的可执行文件?如果出现页面错误,它是否会通过网络获取可执行页面?
If a Linux system runs out of physical memory, does it drop inactive executable code pages? I assume the answer is yes, since there is no reason to keep them in swap, so they are simply discarded and re-loaded if necessary (as far as I know, that's what FreeBSD does).
If the above is true for Linux, my question is, how does it handle executables run from network filesystems (e.g. NFS)? Does it go and fetch executable pages over the network if there is a page fault?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,确实如此。
NFS 客户端会在本地缓存内容(如果您担心速度),但可能不会缓存整个文件(如果您担心一致性)。以下是相关的 NFS 常见问题解答条目。
Yes it does.
The NFS client caches stuff locally (if you're worried about speed), but possibly not the whole file (if you're worried about consistency). Here is a relevant NFS FAQ entry.