交换空间Swap

Swap是干嘛的?

Swap分区,即交换区,在Linux下,Swap的作用类似Windows系统下的“虚拟内存”。系统在物理内存(这里应该是运行内存)不够时,与Swap进行交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

Swap配置对性能的影响,分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。

如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。

通常情况下,Swap空间应大于或等于物理内存的大小,最小不应小于64M,通常Swap空间的大小应是物理内存的2-2.5倍。但根据不同的应用,应有不同的配置:如果是小的桌面系统,则只需要较小的Swap空间,而大的服务器系统则视情况不同需要不同大小的Swap空间。特别是数据库服务器和Web服务器,随着访问量的增加,对Swap空间的要求也会增加,具体配置参见各服务器产品的说明。

另外,Swap分区的数量对性能也有很大的影响。因为Swap交换的操作是磁盘IO的操作,如果有多个Swap交换区,Swap空间的分配会以轮流的方式操作于所有的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。

linux增加Swap

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

1、添加一个交换分区:

安装系统时:

在安装linux系统时划分出专门的交换分区/swap,交换空间的大小,与cpu密切相关,最多可以使用2GB的空间。一般给内存的2-2.5倍,具体大小根据服务器作用分配,这样启动系统时就会自动进行mount。

注:这种方法在安装linux系统时设定方便,就是设定之后改变比较麻烦。

安装完系统:

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

2、添加一个交换文件:

1. 创建swapfile
root权限下,创建Swap文件,假设当前目录为"/",执行如下命令:
# dd if=/dev/zero of=/swapfile1 bs=1024 count=2048000
2. 将swap设置为swap空间
# /usr/sbin/mkswap /swapfile1
3. 启用交换空间,这个操作有点类似于手动mount操作(个人理解)
# /usr/sbin/swapon /swapfile1

注:使用这种方法新加的Swap文件已经起作用了,但系统重新启动以后,并不会记住前几步的操作。因此要在/etc/fstab文件中记录文件的名字,和Swap类型,如:
/swapfile1 swap swap defaults 0 0

linux删除Swap

1. 使用swapoff命令收回Swap: 
# /usr/sbin/swapoff /swapfile1
2. 编辑/etc/fstab文件,去掉此Swap文件的实体
3.从文件系统中回收此文件
#rm /swapfile1

注:如果此Swap空间不是一个文件,而是一个分区,则需创建一个新的文件系统,再挂接到原来的文件系统上。使用fdisk或yast工具删除分区。

下面是运用swapfile增加交换空间涉及到的命令:

fdisk	创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
dd		用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换;
dd 选项解释:
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
mkswap	设置交换区
swapon	启用交换区,相当于mount
swapoff	关闭交换区,相当于umount
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值