LINUX中swap与windows中虚拟内存区别

来源:互联网 发布:喜马拉雅 兼职 知乎 编辑:程序博客网 时间:2024/06/18 05:16

很多朋友在安装linux的时候会遇到一个问题,那就是分区。其中就有一个必须要分的区域swap,内存交换区域。这个区域的定义几乎和windows的虚拟内存定义一致,都是为了保证在物理内存不够用时,从硬盘中划出一个区域用来对内存进行补充。

几乎所有安装linux的教程中都要求划分这个区域,并且其分区大小几乎都按照windows的虚拟内存建议:物理内存的2倍划分。当然了 redhat也有标准建议:

内存小于4GB时,推荐不少于2GB的swap空间;

内存4GB~16GB,推荐不少于4GB的swap空间;

内存16GB~64GB,推荐不少于8GB的swap空间;

内存64GB~256GB,推荐不少于16GB的swap空间

但是这两者还是有所区别的,以比较熟悉的windows虚拟内存为例,安装系统的时候便自带了,进系统后,如果你将虚拟内存关闭后,系统使用就会报错,原因是windows早期就将部分进程放在虚拟内存里,因此很多程序调用系统进程时,默认就会使用到虚拟内存,所以windows虚拟内存成了标配。

在linux中,swap分区可以不进行划分,及不需要虚拟内存。linux完全按照定义,内存够用时不会使用swap分区,因此,如果内存够用,可以完全不去创建此分区,这点和windows不同。

 当然虽然从系统层面上,linux可以完全不使用此分区,但部分程序会要求此分区存在,例如oracle,可以在需要时再进行划分

 当然如果嫌麻烦,则无论内存为多少,都建议直接将swap设置为4G,以应付各类特殊软件的使用要求。