在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 删除交换区后的 硬盘使用情况,这时硬盘有效空间增加交换区大小的容量