Y a-t-il un moyen d'augmenter mon "fichier d'échange" existant sans avoir à le détruire et à le recréer? Je souhaite augmenter mon espace d'échange de 1 Go à 2 Go. Actuellement, il est configuré comme tel:
$ 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
J'utilise Ubuntu 14.04.
Commencez par désactiver le fichier d'échange:
Sudo swapoff /swapfile
Augmentons maintenant la taille du fichier d'échange:
Sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
La commande ci-dessus ajoutera 1 Go de zéro octet à la fin de votre fichier d'échange.
Configurez le fichier en tant que "fichier d'échange":
Sudo mkswap /swapfile
activer l'échange:
Sudo swapon /swapfile
Vous devriez ajouter un nouveau fichier d'échange au lieu de redimensionner l'existant car cela ne vous coûte rien de le faire. Pour redimensionner un fichier d'échange, vous devez d'abord le désactiver, ce qui supprime le contenu de l'échange dans la RAM, ce qui augmente la pression sur RAM et peut même invoquer le tueur de MOO (sans parler du fait que vous pourriez écraser vos disques plusieurs minutes). Plusieurs fichiers d'échange ne sont pas un problème, il est très facile de configurer un autre fichier d'échange. Redimensionner un fichier d'échange plutôt que d'en ajouter un ne présente pratiquement aucun avantage.
dd if=/dev/zero of=/some/file count=1K bs=1M
mkswap /some/file
Sudo chown root:root /some/file
Sudo chmod 600 /some/file
Sudo swapon /some/file
Vous pouvez créer un autre fichier d'échange comme je l'ai fait:
Sudo fallocate -l 4G /swapfile
Sudo chmod 600 /swapfile
Sudo mkswap /swapfile
Sudo swapon /swapfile
Sudo swapon --show
fstab
:echo '/swapfile none swap sw 0 0' | Sudo tee -a /etc/fstab
J'ai de bons résultats sur mon Ubuntu 17.04 en suivant les conseils d'Arian Acosta du blogpost . Ici, vous pouvez remplacer le 4G Sudo fallocate -l 4G /swapfile
par la quantité de gigaoctets de votre choix. Par exemple, Sudo fallocate -l 2G /swapfile
for TS.
En règle générale, la taille recommandée pour un fichier d'échange est 2 fois la quantité de RAM, mais vous pouvez la rendre aussi grande que nécessaire. N'oubliez pas que cela ne remplace pas la mémoire, car les performances sont bien pires car tout est stocké sur le disque.
J'ai créé un script bash simple qui incrémente le fichier d'échange à 4 Go et l'a testé sur Ubuntu 16.04.
Cela peut être exécuté ligne par ligne ou un script bash, mais je l’utilise pour réaliser des installations sans tête.
#!/bin/bash
echo "====== Current Swap ======"
Sudo swapon -s
echo "====== Turning Off Swap ======"
Sudo swapoff /swapfile
echo "====== Allocating 4GB Swap ======"
Sudo fallocate -l 4G /swapfile
echo "====== Making Swap ======"
Sudo mkswap /swapfile
echo "====== Setting Permissions to Root Only ======"
Sudo chmod 600 /swapfile
echo "====== Turning On Swap ======"
Sudo swapon /swapfile
echo "====== Current Swap ======"
Sudo swapon -s
echo "====== Done! ======"