Criar arquivo de troca em uma máquina Linux em execução

8

Os sites de nossa empresa acabaram de ser transferidos de um host compartilhado para um VDS, pois a empresa de hospedagem planeja desativar os servidores de hospedagem compartilhados menos do que completamente confiáveis.

O VDS possui apenas 256 MB de RAM e hospeda alguns sites, todos, exceto um, sites estáticos muito simples, com apenas algumas páginas e combinados, atendem a menos de 20 a 30 visitantes por dia.

Nosso site principal, que executa uma versão um pouco personalizada do OSCommerce, também possui baixo tráfego (raramente mais de 10 usuários simultâneos), mas requer o MySQL. Infelizmente, como o movimento mysqld continua travando devido à memória insuficiente. Eu editei a configuração do Apache um pouco (para reduzir o número de threads) para facilitar a carga, mas isso está apenas evitando o problema real.

O servidor não tem espaço de troca, mas possui consideravelmente mais espaço em disco do que o necessário, então estou pensando em usar parte desse espaço para troca. Eu sei que isso não ajudará exatamente o desempenho, mas podemos conviver com isso.

Como posso criar um arquivo de permuta e habilitá-lo enquanto o servidor está em execução? O sistema operacional é o CentOS 5.5 (final) e o Linux não é minha língua nativa.

Atualização: para qualquer um que possa estar se perguntando sobre os resultados, desde a implementação do arquivo de permuta, conforme descrito pelo quanta, o servidor não só ficou estável, sem mais falhas do mysqld, como também está servindo páginas mais rapidamente do que antes. O ganho de desempenho é contrário ao que eu esperava, mas estou encantado por estar errado neste caso.

John Gardeniers
fonte

Respostas:

15

Supondo que você deseja criar um arquivo de troca de 512 MB:

# dd if=/dev/zero of=/swapfile bs=1024 count=524288

Configure a área de troca com:

# mkswap /swapfile

Ative-o:

# swapon /swapfile

Adicione /etc/fstabpara permanente:

echo -e "/swapfile\t\tswap\t\tswap\t\tdefaults\t0 0" >> /etc/fstab

e verifique com free -m.

quanta
fonte
Não é necessário reiniciar?
John Gardeniers
3
Claro, não há necessidade de reiniciar. Foi ativado com swapon.
quanta de