2018年11月18日星期日

如何给OpenVZ 添加SWAP的方法

这方法是好不容易在网上找到的。按正常的Linux下添加SWAP的方法是不行的,提示没有权限。

        可以写这样一个脚本:

#!/bin/bash
#Addition SWAP For OpenVZ
echo 'Start adding SWAP space ......';
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
echo 'Add the ready!';


 保存成swap4openvz.sh或者直接从本站下载:
wget https://file.zxbtb.com/SH/swap4openvz.sh

     
然后设置成可执行文件:
chmod +x swap4openvz.sh



最后执行一下:
sh ./swap4openvz.sh

如果提示 ./swap4openvz.sh: line 3: $'\r': command not found
原因是这样的:脚本是在window下编辑完成后上传到linux上执行的,win下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。
在linux上执行 dos2unix swap4openvz.sh,再次执行脚本sh ./swap4openvz.sh,报错消失。
  如果提示 -bash: dos2unix: command not found
则安装dos2unix就可以了,yum install -y dos2unix
最后执行脚本sh ./swap4openvz.sh
执行完毕后再用命令:
free -m
这样就有SWAP空间了!

没有评论:

发表评论

︿
Top