一、什么是SWAP?
SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是,虽然这个swap分区能够作为“虚拟”的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于swap,最好的办法仍然是加大物理内存,swap分区只是临时的解决办法。
Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。
二、创建swap分区的方法:
1、创建一个大小为1G,用于硬盘存储的空白文件:
假如我挂载了一个磁盘在mnt
挂载磁盘方法
dd if=/dev/zero of=mnt/swap bs=1M count=1024
2、使用mkswap格式化文件为swap文件系统:
mkswap -f /swap
3、启动刚刚创建的swap文件系统:
swapon /swap
4、执行以下命令,就能在swap那里看到一个大小为1023M的swap分区。
free -m
不过现在swap的used为0,因为并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness参数值控制的。输入以下命令查看swappiness参数值。
cat /proc/sys/vm/swappiness
(1)当swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间。
(2)当swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
我们可以通过修改swappiness的参数值来控制swap分区的使用情况。
(1)临时修改:如果重启系统,swappiness参数值又会返回默认值。
sudo sysctl vm.swappiness=10
(2)永久修改:在/etc/sysctl.conf 文件里添加参数(vm.swappiness=50)或者执行以下命令,然后保存重启即可。
echo ‘vm.swappiness=50’ >>/etc/sysctl.conf
三、创建swap文件的方法:
1、运行以下命令创建用于交换分区的文件:
dd if=/dev/zero of=/mnt/swap bs=1M count=1024
2、运行以下命令设置交换分区文件:
mkswap /mnt/swap
3,运行以下命令启用交换分区文件:
swapon /mnt/swap
注意:如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a
4、设置开机启用swap分区:在/etc/fstab文件加以下内容。
/dec/hdb5 swap swap defaults 0 0 #开机时启动此swap分区 /tmp/swap swap swap defaults 0 0 #开机时启动此swap文件
赞赏
除特别注明外,本站文章均采用BY-NC-SA协议授权,转载请注明来自:https://www.ljy2345.com/2017/09/how-to-create-virtual-memory-swap-under-alibaba-cloud-ecs-ubuntu/
Comments | NOTHING