# dd if=/dev/zero of=/mnt/swap bs=1M count=8192 //创建8g虚拟内存 bs=block_size count=number_of_block
等待稍长时间后输出
8192+0 records in
8192+0 records out
8589934592 bytes (8.6 GB) copied, 55.5164 s, 155 MB/s
# mkswap /mnt/swap
完成后提示
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=23b4b66c-ef48-4a8a-a8dd-f9e977287932
# swapon /mnt/swap
是free指令查看是否生产swap分区
[root@izj6c47bc02i5akvuyb8xzz target]# free -m
total used free shared buff/cache available
Mem: 1839 506 62 24 1270 1137
Swap: 8191 0 8191
注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a
需要修改文件 /etc/fstab 中的 SWAP 行
# vim /etc/fstab
末尾添加 /mnt/swap swap swap defaults 0 0
# /etc/fstab
# Created by anaconda on Fri Aug 18 03:51:14 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=59d9ca7b-4f39-4c0c-9334-c56c182076b5 / ext4 defaults 1 1
/mnt/swap swap swap defaults 0 0
注:/mnt/swap 路径可以修改,可以根据创建的 SWAP 文件具体路径来配置。
在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness
内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区:
假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:
echo 10 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:
# vim /etc/sysctl.conf
将配置文件中的vm.swappiness属性值改为10vm.swappiness=10
# sysctl -p
当系统出现内存不足时,开启 SWAP 可能会因频繁换页操作,导致 IO 性能下降。如果要关闭 SWAP,可以采用如下方法。
[root@izj6c47bc02i5akvuyb8xzz target]# free -m
total used free shared buff/cache available
Mem: 1839 506 62 24 1270 1137
Swap: 8191 0 8191
swapoff /mnt/swap
# /etc/fstab
# Created by anaconda on Fri Aug 18 03:51:14 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=59d9ca7b-4f39-4c0c-9334-c56c182076b5 / ext4 defaults 1 1
#/mnt/swap swap swap defaults 0 0
[root@izj6c47bc02i5akvuyb8xzz target]# free -m
total used free shared buff/cache available
Mem: 1839 506 62 24 1270 1137
Swap: 0 0 0
可以使用下述方法临时修改此参数,这里配置为 0%:
echo 0 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:
# vim /etc/sysctl.conf
设置vm.swappiness=0
# sysctl -p