Você entendeu mal o que esse post significa por "troca falsa". Existem alguns programas que, por várias razões, insistem em um sistema com espaço de troca ativado ( cough Oracle cough ). Se não for, o programa - ou pelo menos seu instalador - reclama. É claro que com o banco de dados mencionado anteriormente, há maneiras de dizer que ele continue de qualquer maneira, mas as pessoas geralmente não os conhecem.
A "troca falsa" encontrada é uma solução alternativa. É uma maneira de mentir para esses programas e fingir que a troca está ativada. A troca é uma mentira. Não há troca real. Mas o programa acredita que existe, então não reclama. A solução alternativa também é free
, etc., e também é sobre todos os outros valores em /proc/meminfo
. (Honestamente: se eu achasse isso em uso em um sistema que eu estava usando - muito menos administração - eu usaria termos muito mais duros do que "solução alternativa". Termos que não seriam adequados para uma conversa educada.)
A resposta de Tante sobre a outra questão provavelmente está correta: o OpenVZ não suporta swap em VMs. Não há alternativa para swapon
. Ele faz um monte de verificações, mas chama o swapon
syscall do kernel. Se o syscall não for suportado, você está pronto. Você não pode fazer isso. Desculpe.
Dependendo do problema real que você está tentando resolver, existem outras abordagens que podem funcionar:
- Se um processo específico precisar trabalhar com uma quantidade enorme de dados,
mmap
provavelmente ainda funcionará. Ou use mais algoritmos com espaço eficiente. - Aloque (ou peça / pague ao provedor) mais memória para a VM. Possivelmente habilitar swap no host.
- Mude para uma solução de virtualização diferente ou para executar em bare-metal.
- Você provavelmente poderia executar o Modo de usuário Linux dentro do seu contêiner OpenVZ. Dentro dessa instância UML, você provavelmente pode ativar a troca. Eu espero que o desempenho seja terrível.