一、什么是swap?
swap空间(swap space)是硬盘上的一块区域。虚拟内存是由可访问的物理内存和swap space组成,也即swap space是虚拟内存的一部分。swap存储那些暂时不活跃的内存页面。当操作系统决定要给活跃的进程(应该是指申请物理内存的进程和新创建的进程)分配物理内存空间并且可利用的物理内存不足时会用到swap space。
如果物理内存紧张时,把不活跃的物理内存页面(就是这个物理页面里面的数据不经常访问)从物理内存移动到swap space并且释放该页所占用的物理内存,这就叫换出。对于进程中的虚拟地址空间中的一个页面来说,可以通过页表找到该页对应的物理页是存在于物理内存上还是swap space中。那如果说某个进程要访问的页面在swap space中,需要在物理内存中找一个空闲页面把该页面从swap space中移动到物理内存中,这叫换入。
因为swap space存在于硬盘上,它的访问速度取决于硬盘,也是比较慢的,因此它不能替代物理内存。
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通