J'exécute actuellement une micro instance ec2 et j'ai constaté que l'instance manque parfois de mémoire.
Outre l'utilisation d'une taille d'instance plus grande, que peut-on faire d'autre?
amazon-web-services
amazon-ec2
out-of-memory
ajtrichards
la source
la source
if
signifie «fichier d'entrée»,of
signifie «fichier de sortie»,bs
signifie «taille de bloc» etcount
est le nombre de blocs que vous souhaitez allouer… vous pouvez lire laman
page de la commande pour plus d'informations: linux.die.net/man/1/ dd$> free -m
L'échange doit avoir lieu sur le disque de stockage d'instance (éphémère) et non sur un périphérique EBS. L'échange entraînera beaucoup d'E / S et augmentera les coûts sur EBS. EBS est également plus lent que le magasin d'instances et le magasin d'instances est gratuit avec certains types d'instances EC2 .
Il sera généralement monté sur / mnt mais s'il n'est pas exécuté
Pour créer ensuite un fichier d'échange sur cet appareil, procédez comme suit pour un fichier d'échange de 4 Go
Assurez-vous qu'aucun autre utilisateur ne peut voir le fichier d'échange
Faire et marquer comme swap
Ajouter / Assurez-vous que les éléments suivants sont dans votre / etc / fstab
enfin activer l'échange
la source
Après avoir appliqué les étapes mentionnées par ajtrichards, vous pouvez vérifier si votre instance de niveau gratuit amazon utilise swap à l'aide de cette commande
résultat:
SwapTotal: 1048572 kB
SwapFree: 1048572 kB
la source
Vous pouvez ajouter un swap de 1 Go à votre instance avec ces commandes:
Pour l'activer par défaut après le redémarrage, ajoutez cette ligne à
/etc/fstab
:la source
/swapfile
. Mais vous pouvez également monter un autre système de fichiers et y créer le fichier d'échange, par exemple/mnt/blah/swapfile
.Si vous êtes sur des
t2
cas (t2.micro
,t2.medium
,t2.small
), il n'y a pas de stockage d'éphémère ou de l' instance à votre disposition . Il vous suffit donc de créer votre swap,EBS
ce qui, selon votre cas d'utilisation, peut ou peut ne pas être une bonne idée. Sinon, suivez la réponse de @David et créez votre swap sur le stockage éphémère pour éviter de payer les coûts EBS.Plus d'informations: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html il y a un tableau qui montre la quantité de stockage éphémère que vous obtenez pour chaque type d'instance.
la source
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.
. Ce qui semble qu'AWS facturera les opérations de lecture et d'écriture.Vous pouvez créer un espace d'échange en procédant comme suit
/home/
dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
Ici, le nombre correspond au nombre de kilo-octets d'espace de swap
mkswap /home/swapfile1
vi /etc/fstab
faire entrée:
/home/swapfile1 swap swap defaults 0 0
courir:
swapon -a
la source
Nous pouvons ajouter de l'espace de swap dans n'importe quel serveur
créer un fichier à l'aide de la commande dd
bs est une taille de bloc et le nombre fait référence à la taille en Mo ou Go
nous pouvons utiliser l'inverse
Après la création, modifiez l'autorisation du fichier:
Fait ensuite permuter le fichier:
Activez ensuite le fichier d'échange avec la commande swapon:
Vérifiez avec la commande gratuite si le swap est activé ou non:
la source
L'utilisation de la réponse de stockage d'instance de David a initialement fonctionné pour moi (sur un m5d.2xlarge), cependant, après avoir arrêté l'instance EC2 et l'avoir réactivée, je n'ai pas pu me connecter à nouveau à l'instance.
Les journaux d'instance ont signalé: "Vous êtes en mode d'urgence. Après vous être connecté, tapez" journalctl -xb "pour afficher les journaux système," systemctl reboot "pour redémarrer," systemctl default "ou" exit "pour démarrer en mode par défaut. Appuyez sur Entrée pour la maintenance"
J'ai plutôt suivi les instructions AWS dans ce lien et tout a parfaitement fonctionné, y compris après avoir éteint et rallumé l'instance.
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
la source
Essayez swapspace http://pqxx.org/development/swapspace/
La plupart des distributions l'ont emballé.
Sur EC2, vous souhaiterez peut-être remplacer "swappath" par un disque / mnt ou high-iops.
la source
Vous pouvez utiliser le script suivant pour ajouter un échange sur Amazon Linux.
https://github.com/chetankapoor/swap
Téléchargez le script à l'aide de wget:
Exécutez ensuite le script au format suivant:
Pour un tutoriel complet, vous pouvez visiter:
https://installvirtual.com/shell-script-to-create-swap/
la source