Existe uma maneira de aumentar meu "swapfile" existente sem precisar destruí-lo e recriá-lo? Gostaria de aumentar meu espaço de troca de 1 GB para 2 GB. Atualmente, está configurado da seguinte forma:
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 1048572 736640 -1
$ ls -lh /swapfile
-rw------- 1 root root 1.0G Nov 9 2016 /swapfile
Estou usando o Ubuntu 14.04.
command-line
files
swap
storage
Dave
fonte
fonte
swapoff
criar um novo / swapfilemkswap
, eswapon -a
swapoff
entãodd
emkswap
finalmenteswapon
. Eu pensei que você não quer tocar no seu arquivo.Respostas:
Primeiro desative o arquivo de troca:
Agora vamos aumentar o tamanho do arquivo de troca:
O comando acima acrescentará 1 GiB de zero bytes no final do seu arquivo de troca.
Configure o arquivo como um "arquivo de troca":
ativar a troca:
fonte
sudo fallocate -l 2G /swapfile
provavelmente é mais seguro que o dd (embora não mantenha o arquivo de troca original) e também precisa de umsudo chmod 600 /swapfile
.fallocate
arquivos esparsos? A página deswapon
manual diz que arquivos de troca esparsos são problemáticos (mencionando especificamentefallocate
).mkswap
manual também diz que os arquivos não devem conter nenhum furo.fallocate
pré-alocar espaço em disco e depois usardd
para preencher os buracos com zeros.Você deve adicionar um novo arquivo de troca em vez de redimensionar o arquivo existente, pois não custa nada fazer isso . Para redimensionar um arquivo de troca, você deve primeiro desativá-lo, o que despeja o conteúdo da troca na RAM, o que aumenta a pressão na RAM e pode até convocar o assassino do OOM (sem mencionar que você pode estar debulhando seus discos por vários minutos). Vários arquivos de troca não são um problema, é trivialmente fácil de configurar outro arquivo de troca. Não há literalmente nenhum benefício em redimensionar um arquivo de troca em vez de adicionar outro.
fonte
sudo chmod 600 /some/file
obrigatório ou não?count=1K
dá um arquivo 1G? contagem está no tamanho do bloco, sim? E isso pode ser 512/4096? Ou minha matemática está errada?Você pode criar outro arquivo de troca como eu fiz:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
Para torná-lo permanente, adicione um arquivo ao
fstab
arquivo digitando:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
fonte
fallocate
bit deve ser usado para criar o arquivo, pois cria um arquivo esparso. verman mkswap
man mkswap
, especialmente o último parágrafo antes de "Meio Ambiente"Tenho bons resultados no meu Ubuntu 17.04 seguindo os conselhos de Arian Acosta no blog . Pode-se substituir o 4G aqui
sudo fallocate -l 4G /swapfile
por qualquer quantidade de gigabytes que você desejar. Por exemplosudo fallocate -l 2G /swapfile
para TS.fonte
Resposta geral para "como redimensionar o arquivo de troca":
De Bogdan Cornianu, aqui: https://bogdancornianu.com/change-swap-size-in-ubuntu/
[CITAÇÃO (QUASE VERBATIM, com apenas algumas das minhas adições de comentários) INICIAR]
No exemplo a seguir, estenderemos o espaço de troca disponível no / swapfile de 4 GiB para 8 GiB.
Desativar todos os processos de troca
Redimensionar a troca
if
= arquivo de entrada = arquivo deof
saídabs
= tamanho do bloco; aqui,1G
significa um gibibyte, ou chaveta, a qual, de acordo com oman dd
é L = 1024 * 1024 * 1024 bytescount
= multiplicador de blocosTornar o arquivo utilizável como swap
Ativar o arquivo de troca
Verifique a quantidade de swap disponível
[CITAÇÃO FINAL]
fonte