所以我注意到Linux有时如何使用交换内存(位于内部HDD / SSD中)。
当内存过载时,PC 会在交换区中存储一些内存数据,以使其猜测速度更快。
那么,如果您可以将 RAM 数据存储在 HD 中,您是否可以做相反的操作并将 HD 数据存储在 RAM 中(也许是暂时的)?
我知道这是不切实际的,但仍然......
答案1
可以在 RAM 中存储文件吗?是的,您可以使用类似的东西ramfs
(如评论中提到的),但这与系统交换的方式和原因无关。事实上,存储在 RAM 中的某些文件最终可能会被交换到磁盘中。
Linux(和Windows)有虚拟内存的概念,操作系统将页面加载并保存到内存中。如果 RAM 空间根据特定条件开始耗尽,后台会有一个进程将页面从 RAM 移动到交换(磁盘)中。这是速度与稳定性的权衡,因为如果你用完了 RAM 空间,系统将停止(实际上,OOM 不会随机终止进程,直到你有更多 RAM,但这是破坏性的)。
因此,只有当您开始消耗大量 RAM 时,交换区中才会有数据。您无法决定要交换什么以及将什么保留在 RAM 中。