我读过关于分页和交换空间的文章,我对硬盘上有多少空间(以及在哪里)被用来分页/交换帧感到有点困惑。让我们考虑以下场景:
。
我有以下疑问:
hard-disk?
发布于 2021-08-01 08:59:32
是将受害者帧交换到交换空间,还是将其分页到硬盘上的不同位置(除了交换空间)?
它会被交换到交换空间。交换空间是用来做这个的。没有交换空间的系统不能使用虚拟内存的这一特性。它还有其他功能,比如避免外部碎片和内存保护。
据我所见,交换空间通常约为内存的1-2倍,这是否意味着进程只能使用RAM +交换空间的内存总量?还是会更多地被虚拟内存的大小所限制?
进程可用的总内存将是RAM +交换空间。想象一下,一台具有1GB RAM + 1GB交换空间的计算机,以及一个需要3GB的进程。该进程的虚拟内存需求高于可用内存。这将无法工作,因为最终进程将访问所有这些代码/数据,并将导致程序崩溃。基本上,进程映像大于RAM +交换空间,因此最终程序将完全从可执行文件加载,而计算机将根本没有足够的空间容纳进程。它会破坏这个过程。
这里真的有两个选择。您可以直接将进程的一部分存储在RAM中,或者将其存储在交换空间中。如果这两种方法都没有空间用于您的进程,那么内核就没有其他地方可走了。因此,它使进程崩溃。
https://stackoverflow.com/questions/68608067
复制相似问题