调整swap分区大小

方法一:如果磁盘有剩余的空间,用分区工具新建一个swap分区.并写到/etc/fstab里面.
再 #swapon -a
方法二:可以用一个文件做交换分区.

su root

 cd /

 mkdir /swap

 

 
1、建立swap文件,比如在/tmp下建立swapfree作为交换文件。建立
#dd if=/dev/zero f=swapfree bs=32k count=8192
(bs=32k指定每个扇区占用32kb,读入了8192+0个区段,输出了8192+0个区段) 
注意:bs参数的目的在于指定每次读取及输入多少个bytes;由于磁盘存取的最小单位为扇区,因此设置bs也等于设置每个扇区的大小;而count的目的则在指定可以使用多少个扇区.因此,可以使用的硬盘空间就等于bs*count.以上范例为例,可以使用的硬盘空间等于32*8192=262144 (KB),亦等于256MB. )
执行上述命令后,会在/tmp目录中创建一个256MB的swapfree的文件 
2、格式华及启动swap文件 
接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/tmp目录,并执行以下命令: 
# mkswap swapfree (#将文件格式化为swap文件格式) 
setting up swapspace version 1 , size = 262144 KB 
# swapon /tmp/swapfree (#启动swap分区) 
要停止使用新创建的swap文件,只要执行 swapoff /tmp/swapfree命令即可,如果swap交换文件不再使用,可以删除此文件。
3、检查swap
     #swapon -s
4、 开机时自动启动新添加的swap分区 
如果每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了.这时可以利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件: 
/dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区) 
/tmp/swapfree swap swap defaults 0 0 (开机时启动此swap文件) .
swap空间大小:
通常情况下,Swap空间应大于或等于物理内存的大小,最小不应小于64M,通常Swap空间的大小应是物理内存的2-2.5倍。但根据不同的应用,应有不同的配置:如果是小的桌面系统,则只需要较小的Swap空间,而大的服务器系统则视情况不同需要不同大小的Swap空间。特别是数据库服务器和Web服务器,随着访问量的增加,对Swap空间的要求也会增加,具体配置参见各服务器产品的说明。
swap数量:
Swap分区的数量对性能也有很大的影响。因为Swap交换的操作是磁盘IO的操作,如果有多个Swap交换区,Swap空间的分配会以轮流的方式操作于所有的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。用性能监视工具就会发现,此时的CPU并不很忙,而系统却慢。这说明,瓶颈在IO上,依靠提高CPU的速度是解决不了问题的。

 

root用户下
  1、以文件系统增加(以下是以增加512M的文件系统为例)
  dd if=/dev/zero of=/home/oracle/myswaps/swapfile1 bs=1M count=512
  注:of后面的路径一定不能是/dev下,否则在激活swap文件时报参数无效
  2、创建swap文件
  mkswap /home/oracle/myswaps/swapfile1
  3、激活swap文件
  swapon /home/oracle/myswaps/swapfile1
  4、此时用free -m就可以看到swap空间已经增加了,但是重启后就不会存在了
  5、添加重启后还会生效,vi /etc/fstab添加如下内容:
  /home/oracle/myswaps/swapfile1 swap swap defaults 0 0