1.创建swap文件

首先,选择你swap文件要放置的位置,比如直接在根目录/ 下创建或者选择一个目录,如/opt。比如我直接在根目录下创建,然后设置swap分区的名称为swapfile:

定义swap的大小及位置

cd /
sudo dd if=/dev/zero of=/swapfile bs=1k count=4096000

上面swapfile为你创建swap文件分区的名称,你可以根据需要改成你自己的名称,如bs 即blocksizes,每个块大小为1k;count=4096000,总大小为4G的文件。因为建立swap分区大小的标准一般为物理内存的两倍,而我的内存是2G,所以我选择swap文件大小为4G,当然,也要考虑你硬盘剩余容量的大小。我的硬盘还剩30G,所以再划分4G给swap文件绰绰有余。如果你的内存是0.5G,那么count大小可以选择1024000(1G)。

2.建立swap

mkswap /swapfile

3. 启动swap

swapon /swapfile

4.检查是否正确

free -m 

或者

swapon -s

Swap和/swapfile都分别能看到总容量大小,使用了多少。
执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略提示,也可以听从系统的建议修改下权限

chmod -R 0600 /swapfile

5.设置开机时自启用swap分区

修改 /etc/fstab 使其启动时自动mount,这个操作与swap分区法一样,在 /etc/fstab 中最后一行增加语句:

/swapfile swap swap defaults 0 0

添加方法可以用vi进行编辑,或者直接echo添加:

5.1先赋予 /etc/fstab 修改权限:

sudo chmod 777 /etc/fstab

5.2设置开机时自启用:

echo "/swapfile swap swap defaults 0 0" >>/etc/fstab

注: /swapfile 路径可以修改,可以根据创建的swap文件具体路径来配置。

========================================

6.删除swap分区

如果不再需要swap,可以清理该分区:

swapoff /swapfile

swapoff -v /swap/swapadd

7、移动虚拟内存空间

如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可

swapoff -v /swap/swapadd
mv /swap/swapadd /mnt/swap
swapon /swap/swapadd

8.更改Swap配置

一般默认的情况,当我们开启交换虚拟内存空间后,默认好像是当内存使用百分50的时候,就会开始使用交换空间,这样就会造成一个情况,就是本身物理内存还没有使用完成, 就去使用虚拟内存,这样肯定会影响我们的使用效率,那么我们怎么避免这个情况的发生呢?

答案就是:可以通过swappiness值进行管理,swappiness表示系统对Swap分区的依赖程度,范围是0~100,数值越大,依赖程度越高,也就是越高越会使用Swap分区。

所以,我们现在并不希望我们的机器过度依赖Swap分区,只有当我们 负载超过某个百分比的时候,才使用交换空间,所以这也决定了,我们这个值并不是非常大,一般设置 10 ~50 左右。

当然如果小伙伴的是SSD的话,那么这个值可以稍微大一些。

下面我们查看当前的swappiness数值:

cat /proc/sys/vm/swappiness

修改swappiness值,这里以10为例:

sysctl vm.swappiness=10

设置永久有效,重启系统后生效

echo "vm.swappiness = 10"  >>  /etc/sysctl.conf

我们最后再次通过top命令,能够查看到虚拟内存的使用情况。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐