如果 Linux 系统用完了物理内存,它会丢弃不活动的可执行代码页吗?我认为答案是肯定的,因为没有理由将它们保留在交换中,所以它们只是被丢弃并在必要时重新加载(据我所知,这就是 FreeBSD 所做的)。
如果上述情况适用于 Linux,我的问题是,它如何处理从网络文件系统(例如 NFS)运行的可执行文件?如果出现页面错误,它是否会通过网络获取可执行页面?
如果 Linux 系统用完了物理内存,它会丢弃不活动的可执行代码页吗?我认为答案是肯定的,因为没有理由将它们保留在交换中,所以它们只是被丢弃并在必要时重新加载(据我所知,这就是 FreeBSD 所做的)。
如果上述情况适用于 Linux,我的问题是,它如何处理从网络文件系统(例如 NFS)运行的可执行文件?如果出现页面错误,它是否会通过网络获取可执行页面?
如果 Linux 系统用完了物理内存,它会丢弃不活动的可执行代码页吗?我认为答案是肯定的,因为没有理由将它们保留在交换中,所以它们只是被丢弃并在必要时重新加载(据我所知,这就是 FreeBSD 所做的)。
是的,它确实。
如果上述情况适用于 Linux,我的问题是,它如何处理从网络文件系统(例如 NFS)运行的可执行文件?如果出现页面错误,它是否会通过网络获取可执行页面?
NFS 客户端在本地缓存内容(如果您担心速度),但可能不是整个文件(如果您担心一致性)。这是一个相关的 NFS常见问题解答条目。