swap分区

1、什么是交换分区

交换分区的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,

腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

 

 2、关于swap交换分区的设置

一种流行的、以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍。

也就是说,如果内存是2G,那么就应该分出4G的硬盘空间作为交换空间,其实这是严重的浪费。

真实的情况是:可以根据你系统内存的大小,以及所使用的程序,自行决定交换分区的大小,甚至可以完全不用交换分区!

做一个假设:如果你的内存足够大,极少出现内存不足的情况,那么你就不需要交换分区。事实上,日常使用很少能用完全部的内存。

在用不完内存容量的情况下,还要划出它两倍的硬盘空间用于内存交换,这不是浪费吗?

可以说,在你内存基本够用的情况下,完全可以不要交换空间。在Windows下也是一样,在系统属性中,把虚拟内存设置为0,系统依然运行的很好。

当然,如果你用的是服务器,还是要有专门的虚拟内存,有备无患。但是虚拟内存的大小不一定非要内存的两倍。 

 

3、查看swap 空间大小(总计) 

[root@localhost swap]# free -m                            ;-m表示单位为MB,默认单位为KB(-k);此外还有Byte(-b)和GB(-g)
             total       used       free     shared    buffers     cached
Mem:          1893        720       1172          0        111        495     ;该行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存
-/+ buffers/cache:        113       1780                                      ;从用户角度显示内存信息, 可用内存从数量上等于mem行used列值减去buffers和cached内存的大小.
Swap:         2015          0       2015                                      ;swap空间的大小

  

4、查看swap 空间(file(s)/partition(s)) 

[root@localhost swap]# swapon -s                                              ;等价于 cat /proc/swaps ,包括 文件 和 分区 的详细信息
Filename                Type        Size    Used    Priority
/dev/sda3                               partition    2064376    0    -1

 

 5、添加交换空间

Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。

前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。

推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。

5.1、添加一个交换分区 

1、使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
2、 使用 mkswap 命令来设置交换分区:
   # mkswap /dev/sdb2
3、启用交换分区:
   # swapon /dev/sdb2
4、写入/etc/fstab,以便在引导时启用:
      /dev/sdb2 swap swap defaults 0 0

 

5.2、添加一个交换文件

1、创建大小为512M的交换文件:
   # dd if=/dev/zero of=/swapfile1 bs=1024k count=512
2、使用 mkswap 命令来设置交换文件:
   # mkswap /swapfile1
3、启用交换分区:
   # swapon /swapfile1
4、写入/etc/fstab,以便在引导时启用:
    /swapfile1 swap swap defaults 0 0

新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。

 

6、删除交换空间

1、禁用交换分区:
   # swapoff /dev/sdb2
2、从 /etc/fstab 中删除项目;
3、使用fdisk或yast工具删除分区。

删除交换文件步骤同上。

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------

参考资料:

http://blog.sina.com.cn/s/blog_48212cbe0100i03e.html

http://blog.csdn.net/onlymilan/article/details/4941189

http://baike.baidu.com/link?url=2PLKUeMDG0oHZF8FXv25O6d_5mBlV-zOitTy1eYalQDY1jkWUEAi9JtKJQsk6CzL-IzGdUbiypfDCzvc4WqbW_

posted @ 2014-03-30 19:58 LubinLew 阅读(...) 评论(...) 编辑 收藏