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.
swapoff
créer un nouveau fichier / fichier d'échangemkswap
, etswapon -a
swapoff
ensuitedd
etmkswap
finalementswapon
. Je pensais que tu ne voulais pas toucher à ton dossier.Réponses:
Commencez par désactiver le fichier d'échange:
Augmentons maintenant la taille du fichier d'échange:
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":
activer l'échange:
la source
sudo fallocate -l 2G /swapfile
est probablement plus sûr que dd (bien qu'il ne conserve pas le fichier d'échange d'origine), et il nécessite également un fichiersudo chmod 600 /swapfile
.fallocate
fichiers fragmentés ? Laswapon
page de manuel indique que les fichiers d'échange clairsemés sont problématiques (en mentionnant spécifiquementfallocate
).mkswap
page de manuel indique également que les fichiers ne doivent contenir aucun trou.fallocate
pour préallouer de l'espace disque, puisdd
pour combler les trous avec des zéros.Vous devez 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 celle-ci et peut même invoquer le tueur de MOO (sans parler du fait que vous pouvez forcer vos disques pendant 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.
la source
sudo chmod 600 /some/file
requis, ou non?count=1K
donne un fichier 1G? le compte est en taille de bloc, oui? Et cela peut être 512/4096? Ou est-ce que mes calculs sont faux?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
Pour le rendre permanent, ajoutez un fichier à sa
fstab
saisie:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
la source
fallocate
devrait être utilisé un peu pour créer le fichier, car il crée un fichier de rechange. voirman mkswap
man mkswap
, surtout le dernier paragraphe avant "Environnement"J'ai de bons résultats sur mon Ubuntu 17.04 en suivant les conseils d'Arian Acosta de blogpost . Ici, vous pouvez remplacer la 4G
sudo fallocate -l 4G /swapfile
par la quantité de gigaoctets de votre choix. Par exemplesudo fallocate -l 2G /swapfile
pour TS.la source
Réponse générale à "comment redimensionner un fichier d'échange":
De Bogdan Cornianu, ici: https://bogdancornianu.com/change-swap-size-in-ubuntu/
[DEVIS (PRESQUE VERBATIM, avec juste quelques-uns de mes ajouts de commentaires) DÉBUT]
Dans l'exemple suivant, nous allons étendre l'espace de swap disponible dans le fichier / swapfile de 4 GiB à 8 GiB.
Désactiver tous les processus d'échange
Redimensionner le swap
if
= fichier d'entrée = fichier deof
sortiebs
= taille du bloc; Ici,1G
signifie 1 gibibyte, ou GiB, qui, selonman dd
est G = 1024 * 1024 * 1024 octetscount
= multiplicateur de blocsRendre le fichier utilisable comme swap
Activer le fichier d'échange
Vérifiez la quantité de swap disponible
[QUOTE END]
la source