红联Linux门户
Linux帮助

交换空间和虚拟内存的区别

发布时间:2014-03-22 21:56:21来源:红联作者:tioced
很多新手对Linux交换空间和虚似内存不理解,下面做一详细的说明。

交换空间和虚拟内存的区别在于使用的系统不一样,产生的技术手段不一样。

交换空间

Linux中的交换空间(Swap space)在物理内存(RAM)被充满时被使用。如果系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移到交换空间去。虽然交换空间可以为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,它比进入物理内存要慢。交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。

交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能超过 2048 MB(2 GB)。

虚拟内存

虚拟内存是文件数据交叉链接的活动文件。是WINDOWS目录下的一个"WIN386.SWP"文件,这个文件会不断地扩大和自动缩小。

就速度方面而言,CPU的L1和L2缓存速度最快,内存次之,硬盘再次之。但是虚拟内存使用的是硬盘的空间,为什么我们要使用速度最慢的硬盘来做 为虚拟内存呢?因为电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致我们只有可怜的256M/512M内存消耗殆尽。而硬 盘空间动辄几十G上百G,为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用。

兄弟,知识要灵活运用,你既然知道是pagefile.sys,那就最好了。
文章评论

共有 6 条评论

  1. pl_014 于 2014-04-06 11:34:38发表:

    锟斤拷锟斤拷:
    交换空间在linux下应该跟windows一的虚似内存几乎一个样的意思
    Lhhba 发表于 2014-3-24 08:45

    不一样,虚拟内存在windoze和linux下都有,不过windoze的虚拟内存就是放在硬盘上,而liunx则是只有内存不够用的时候才放在交换分区里。

  2. GDDuan 于 2014-04-02 21:51:03发表:

    我是新人,来学习一下~

  3. 吴圳羲 于 2014-03-24 21:02:21发表:

    :0w5ty(1

  4. Lhhba 于 2014-03-24 08:45:13发表:

    交换空间在linux下应该跟windows一的虚似内存几乎一个样的意思

  5. pl_014 于 2014-03-23 20:14:16发表:

    [i=s] 本帖最后由 pl_014 于 2014-3-23 20:15 编辑 [/i]

    很早以前就没有交换分区已经没有什么两倍内存、32M、2G这些说法了。
    根据内存大小、系统位数、需求和使用的软件等等安排。如果内存足够大,可以不设交换分区,不过一旦内存不够了,可能会很痛苦。

  6. XCalvin 于 2014-03-23 13:40:53发表:

    楼主的意思是不是说交换空间是固定大小的而且只有物理内存不够用了才用到;而虚拟内存是系统开机之后一直会使用并在一定范围变大变小?