Atualmente, estou executando uma micro instância ec2 e descobri que a instância ocasionalmente fica sem memória.
Além de usar um tamanho de instância maior, o que mais pode ser feito?
amazon-web-services
amazon-ec2
out-of-memory
ajtrichards
fonte
fonte
if
significa 'arquivo de entrada',of
significa 'arquivo de saída',bs
significa 'tamanho do bloco' ecount
é o número de blocos que você deseja alocar ... você pode ler aman
página do comando para obter mais informações: linux.die.net/man/1/ dd$> free -m
A troca deve ocorrer no disco de armazenamento de instância (efêmero) e não em um dispositivo EBS. A troca causará muito IO e aumentará o custo no EBS. O EBS também é mais lento que o Repositório de Instâncias e o Repositório de Instâncias é fornecido gratuitamente com certos tipos de Instâncias do EC2 .
Geralmente ele será montado em / mnt, mas se não for executado
Para criar um arquivo de troca neste dispositivo, faça o seguinte para um arquivo de troca de 4 GB
Certifique-se de que nenhum outro usuário possa visualizar o arquivo de troca
Fazer e sinalizar como swap
Adicione / verifique se o seguinte está no seu / etc / fstab
por fim, ativar a troca
fonte
Após aplicar as etapas mencionadas por ajtrichards, você pode verificar se sua instância do Amazon Free Tier está usando swap usando este comando
resultado:
Total da troca: 1048572 kB
Troca grátis: 1048572 kB
fonte
Você pode adicionar uma troca de 1 GB à sua instância com estes comandos:
Para habilitá-lo por padrão após a reinicialização, adicione esta linha a
/etc/fstab
:fonte
/swapfile
. Mas você também pode montar outro sistema de arquivos e criar o arquivo de troca lá, por exemplo/mnt/blah/swapfile
.Se você estiver em
t2
casos (t2.micro
,t2.medium
,t2.small
), não há efêmera ou instância de armazenamento disponível para você. Portanto, você precisa apenas criar seu swap noEBS
qual, dependendo do seu caso de uso, pode ou não ser uma boa idéia. Caso contrário, siga a resposta de @David e crie sua troca no armazenamento efêmero para evitar pagar os custos do EBS.Mais informações: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html, existe uma tabela que mostra a quantidade de armazenamento efêmero que você obtém para cada tipo de instância.
fonte
For example, if you provision a volume with 1000 IOPS, and keep this volume for 15 days in a 30 day month, then in a Region that charges $0.10 per provisioned IOPS-month, you would be charged $50 for the IOPS that you provision ($0.10 per provisioned IOPS-month * 1000 IOPS provisioned * 15 days/30). You will be charged for the IOPS provisioned on a volume even when the volume is detached from an instance.
. Parece que a AWS cobrará pelas operações de leitura e gravação.Você pode criar espaço de troca usando as seguintes etapas Aqui estamos criando troca em
/home/
dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
Aqui a contagem é a contagem de kilobytes de espaço de troca
mkswap /home/swapfile1
vi /etc/fstab
faça a entrada:
/home/swapfile1 swap swap defaults 0 0
corre:
swapon -a
fonte
Podemos adicionar espaço de troca em qualquer servidor
crie um arquivo usando o comando dd
bs é tamanho de bloco e contagem refere-se ao tamanho em MB ou GB
podemos usar vice-versa
Após a criação, altere a permissão do arquivo:
Em seguida, cria o arquivo:
Ative o arquivo swap com o comando swapon:
Verifique com comando livre se a troca está ativada ou não:
fonte
Usando a resposta do Instance Storage de David, inicialmente funcionou para mim (em um m5d.2xlarge), no entanto, depois de parar a instância do EC2 e ativá-la novamente, não consegui fazer o ssh novamente na instância.
A instância registra: "Você está no modo de emergência. Após o login, digite" journalctl -xb "para visualizar os logs do sistema," systemctl reboot "para reiniciar," systemctl default "ou" exit "para inicializar no modo padrão. Pressione Enter para manutenção"
Em vez disso, segui as instruções da AWS neste link e tudo funcionou perfeitamente, inclusive após desligar e ligar a instância novamente.
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
fonte
Experimente o swapspace http://pqxx.org/development/swapspace/
A maioria das distros o inclui.
No EC2, convém alterar "swappath" para / mnt ou disco high-iops.
fonte
Você pode usar o script a seguir para adicionar swap no Amazon Linux.
https://github.com/chetankapoor/swap
Faça o download do script usando o wget:
Em seguida, execute o script com o seguinte formato:
Para um tutorial completo, você pode visitar:
https://installvirtual.com/shell-script-to-create-swap/
fonte