> CentOS > CentOS入门 >

在centos上使用交换空间

在centos上使用交换空间

 

  • 在Linux上使用交换空间
    • 了解交换空间
    • 开始使用交换空间
      • 创建交换空间
      • 指定交换空间
      • 启用交换空间
      • 关闭交换空间
    • 开机自动启用交换空间

 

了解交换空间

centos中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。

交换分区,英文的说法是swap,意思是“交换”、“实物交易”。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

开始使用交换空间

注:创建,启用,关闭交换空间需在root下执行

1.创建交换空间

命令如下:

dd  if=/dev/zero  of=swapfile  bs=1024  count=500000
假设当前目录为"/home",则在"/home"目录下创建了一个名称为“swapfile”的交换空间文件,大小为500M,

命令中选项解释:
   of   :输出的交换文件的路径及名称;

   bs   :块大小,单位byte,计算机里1k即1024个byte;

   count:总块数即空间总大小,单位为块即k;

   if   :读取的源空闲空间,为什么是zero,我也不清楚


一般情况下,交换空间的大小为真实物理内存的1-2倍
如:
   物理内存为1G,交换空间可以设置成1G-2G.

注意:交换空间不能设置的太大!

交换空间的读取速度比内存慢很多,空间设置的太大且交换空间中的资源太多,会降低电脑性能.

2.指定交换空间

命令如下:

# swapfile 为交换空间的绝对路径
# 如: mkswap /home/swap

mkswap swapfile
执行命令,显示命令找不到的时候,请注意!!!
有些用户不使用root完成这些操作, 导致找不到上述命令.

解决方案: (现在发行的Linux版本是不会没有这些命令的)  1. 切换到 root  2.指定命令的绝对路径(这些命令在 /sbin 下)  如:

 /sbin/mkswap swapfile

下面的操作中遇到这种找不到命令的情况,同上.

3.启用交换空间

命令如下:

 swapon  swapfile

至此增加交换空间的操作结束了,可以使用free命令查看swap空间大小是否发生变化.

*.关闭交换空间

如果不再使用空间可以选择关闭交换空间  命令如下:

swapoff  swapfile

开机自动启用交换空间

在 /etc/rc.d/rc.local 文件的末行下追加加以下内容:

/sbin/swapon  /swapfile

保存后退出,这样在系统启动后,swap空间就会自动加载了



(责任编辑:IT)