给Openvz虚拟化linux系统的VPS添加Swap分区

warning: 这篇文章距离上次修改已过1555天,其中的内容可能已经有所变动。

刚刚用宝塔linux工具箱给自己的OpenVZ小鸡添加swap没效果,网上查了一下都说OpenVZ不支持添加swap,后来继续找教程终于找到一种适合在OpenVZ添加swap的方法。

下面开始给openvz的vps增加swap分区:

一、通过touch命令在/usr/bin/目录下新建一个文件叫addswap.sh,命令如下:

touch /usr/bin/addswap.sh

二、用vi命令编辑这个文件,加入如下内容:

vi /usr/bin/addswap.sh
#!/bin/bash
SWAP="${1:-512}"
NEW="$[SWAP*1024]"; TEMP="${NEW//?/ }"; OLD="${TEMP:1}0"
umount /proc/meminfo 2> /dev/null
sed "/^Swap\(Total\|Free\):/s,$OLD,$NEW," /proc/meminfo > /etc/fake_meminfo
mount --bind /etc/fake_meminfo /proc/meminfo

三、通过chmod命令给这个addswap.sh文件可执行权限:

chmod +x /usr/bin/addswap.sh

四、运行addswap.sh执行脚本自动增加swap

sh /usr/bin/addswap.sh

五、执行free -m命令查看增加swap是否成功:

free -m

结果类类似如下就说明你成功了:

              total        used        free      shared  buff/cache   available
Mem:            512          13         407           0          90         371
Swap:           512           0         512

六、因为系统重新启动之后swap又会清空了,所以要将脚本添加到/etc/rc.d/rc.local文件内,让它在系统启动时自动执行!

  1. 打开/etc/rc.d/rc.local 文件,在末尾增加如下内容

    /usr/bin/addswap.sh
  2. 在centos7中,/etc/rc.d/rc.loca l的权限被降低了,所以需要执行如下命令赋予其可执行权限

    chmod +x /etc/rc.d/rc.local

然后重启,开机后执行 free -m 看看是否成功

添加新评论