在centos7上设置swap交换空间

 

新建swap文件

第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件

 

设置swap大小

第二步:添加交换文件并设置其大小为2G,使用如下命令 
 [root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000 
 过段时间就返回如下结果: 
 2048000+0 records in 
 2048000+0 records out 
 2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s 
设置交换空间
第三步:创建(设置)交换空间,使用命令mkswap 
 [root@sense image]# mkswap /opt/image/swap 
 Setting up swapspace version 1, size = 2097147 kB 
检查交换空间
第四步:检查现有的交换空间大小,使用命令free 
 [root@sense image]# free -m 
 total used free shared buffers cached 
 Mem: 1011 989 21 0 1 875 
 -/+ buffers/cache: 112 898 
 Swap: 1027 0 1027 或者检查meminfo文件 
 grep SwapTotal /proc/meminfo 
启动交换空间
第五步:启动新增加的2G的交换空间,使用命令swapon 
 [root@sense image]# swapon /opt/image/swap 
检查生效
第六步:确认新增加的2G交换空间已经生效,使用命令free 
 [[root@sense image]# free -m 
 total used free shared buffers cached 
 Mem: 1011 995 15 0 4 877 
 -/+ buffers/cache: 113 897 
 Swap: 3027 0 3027 
 或者检查meminfo文件 
 grep SwapTotal /proc/meminfo 
修改/etc/fstab文件
第七步:修改/etc/fstab文件
使得新加的2G交换空间在系统重新启动后自动生效 
在文件最后加入: 
/opt/image/swap swap swap defaults 0 0 
OK,系统的swap交换空间添加成功
 
修改swap的swappiness 
第八步:修改swap的swappiness 
vi /etc/sysctl.conf 
 设置或添加vm.swappiness=10 
 swappiness并不是一个决定值,只是一个倾向。swappiness参数值说明:
vm.swappiness = 0
仅在内存不足的情况下–当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间。
vm.swappiness = 1
内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上,进行最少量的交换,而不禁用交换。
vm.swappiness = 10
当系统存在足够内存时,推荐设置为该值以提高性能。
vm.swappiness = 60
默认值
vm.swappiness = 100

内核将积极的使用交换空间。

 

关闭交换区

1. 使用命令  swapon -s  查看交换区设置情况

2. 使用命令 关闭交换区 swapoff /opt/image/swap (交换区Path修改为你通过swapon命令查看到的路径)

3. 使用命令 vim /etc/fstab 将类似如下命令注释 /opt/image/swap swap swap defaults 0 0  

4. 使用命令 cd /opt/image/ (你自己配置的交换区路径)删除交换区文件即可 rm -rf swap 或者 rm -rf /opt/image/swap (注意路径不要含有空格,不然可能删除错误导致问题)

5. 使用命令 df -m 删除交换区后的 硬盘使用情况,这时硬盘有效空间增加交换区大小的容量