给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文件内,让它在系统启动时自动执行!
打开/etc/rc.d/rc.local 文件,在末尾增加如下内容
/usr/bin/addswap.sh
在centos7中,/etc/rc.d/rc.loca l的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
然后重启,开机后执行 free -m 看看是否成功