便宜的OpenVZ的VPS,添加swap的时候会遇到这样的错误提示。找了下,有个解决办法:

1.创建一个文件,名为 fakeswap.sh
2.写入如下代码:

#!/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
free -m

3.顺序执行如下指令:

chmod +x fakeswap.sh
sh fakeswap.sh 256
free -m

注意,256代表你想创建的swap的大小。

方法来自:http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

Related Posts: swapon failed: Operation not permitted 解决办法 :

  1. chmod +x fakeswap.sh 这一步就失败 提示no such file
    请问什么原因?

  2. 如果你不懂如何创建文件的话,自行谷歌或者百度学习一下吧……这错误提示是说没有该文件。

  3. 我在root下创建了该文件,现在再试没有提示了。
    chmod +x fakeswap.sh
    sh fakeswap.sh 256
    free -m
    按顺序输入,没有任何提示,最后swap结果仍没变。。。

  4. 可能vps有限制吧,我美国Sentris,内存256,swap才16m,老是超,价格倒是超便宜,三年才70

  5. 而且我用命令行写入,{NEW//?/ } 和{TEMP:1} 是标红的,是不是有什么问题