交换分区应该是一个特别的分区,单一用途的一个硬盘分区。
交换是指内存块的数据写到磁盘,当然这个磁盘不是任意的位置,而是交换到一个特定的分区,就是交换分区。
交换发生在内存不足的时候。
只有少量几种页可以换出到交换区,普通的页只需换出到块设备上与之对应的后备存储器上即可。
交换分区和交换区的概念有区别,交换分区是指硬盘中的一个分区,交换区是指交换的一个缓存区。
少量可以换出到交换区的页包括如下几种:
(1)类别为map_anonymous的页,没有关联到文件,这种可能是进程的栈或者mmap匿名映射的内存区
(2)属于/dev/zero的一个映射
(3)进程的私有映射(map_private),用于映射修改后不向底层设备回写的文件,通常换出到交换区
(4)属于进程堆以及使用malloc分配的页
(5)用于实现某种进程间通信机制的页,用于在进程之间交换数据的共享内存页
也有一些页不能换出,包括内核使用的页,用于将外设映射到内存空间的页。
阅读(747) | 评论(0) | 转发(0) |