Estou executando isso como root, obviamente.
Eu criei um arquivo chamado /swap/sw1
, despejando 512 megs de /dev/zero
afim disso. Em seguida, executei mkswap
, que dizia:
Setting up swapspace version 1, size = 524284 KiB
no label, UUID=f071fec6-0589-443f-9d46-1c126636418b
Presumo que isso significa que funcionou bem. Eu modifiquei o arquivo para 0600 e o arquivo pertence ao root. Em seguida, executei swapon:
$ swapon -v /swap/sw1
swapon on /swap/sw1
swapon: /swap/sw1: Operation not permitted
Também tentei adicionar isso ao fstab e chamar swapon -a -v
, mas vai do mesmo problema. Por que não tenho permissão para usar este arquivo como um arquivo de troca?
Uma observação, que acho irrelevante, mas posso estar errado - estou executando em uma VM OpenVZ.
Acho que você foi atingido pelas limitações do OpenVZ. O OpenVZ não permite o que eles chamam de "troca definida pelo usuário": a troca está disponível apenas "como um todo" para todo o sistema, não para VPSes individuais, consulte http://forums.vpslink.com/linux/621 -swap-space.html # post3915