linux为什么非要用swap分区
(2005-08-17 14:17:35)
linux为什么非要用swap分区,而不能象windows那样用交换文件
Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中
的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长
时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序
要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,
才进行Swap交换。这种现象对于计算机使用者是经常遇到的。 有一点要声明的是,并不
是所有从物理内存中交换出来的数据都会被放到Swap中(如果这样的话,Swap会不堪重
负),有相当一部分的数据直接交换到文件系统。例如,有的程序会打开一些文件,对文
件进行读写(其实每个程序都至少打开一个文件,那就是运行程序本身),当这些程序的内
存空间需要交换出去时,文件部分的数据就没有必要放到Swap空间中了,如果是读文件
操作,那么内存数据直接就释放了,不需要交换出来,因为下次需要时,直接从文件系统
就能恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用
malloc(3C)和new函数生成的对象的数据则不同,需要Swap空间,因为它们在文件系统中
没有相应的“储备”文件,因此被称为“匿名”(Anonymous)的内存数据,这类数据还包括堆
栈中的一些状态和变量数据等,所以说,Swap空间是“匿名”数据的交换空间。
我们一般在安装LINUX时分配的SWAP空间为2倍的内存大小就可以了。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。