Donc, je suis un tutoriel pour installer OTRS qui est Open Source Ticket Request System. Donc, pour installer, il faut: 4 Go d'espace d'échange. Voici la commande que j'ai utilisée:
[root@ip-10-0-7-41 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 50G 14G 37G 27% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 484M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/1000
[root@ip-10-0-7-41 ~]# fallocate -l 4G /myswap
[root@ip-10-0-7-41 ~]# ls -lh /myswap
-rw-r--r--. 1 root root 4.0G Jul 8 08:44 /myswap
[root@ip-10-0-7-41 ~]# chmod 600 /myswap
[root@ip-10-0-7-41 ~]# mkswap /myswap
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=3656082a-148d-4604-96fb-5b4604fa5b2e
[root@ip-10-0-7-41 ~]# swapon /myswap
swapon: /myswap: swapon failed: Invalid argument
Vous pouvez voir: Erreur d'argument invalide ici. J'ai essayé plusieurs fois en vain de l'activer. Quelqu'un peut-il me dire comment corriger cette erreur. (J'exécute ce CentOS 7 sur AWS Instance EC2)
[root@ip-10-0-7-41 ~]# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
/dev/xvda1 xfs /
dd
. Gardez à l'esprit que tous les systèmes de fichiers ne supportent pas l'échange ou du moins pas de la même manière.Réponses:
Le problème
fallocate(1)
est qu’il utilise un systèmeioctls
de fichiers pour rendre l’attribution rapide et efficace. L’inconvénient est qu’il n’alloue pas physiquement l’espace mais que l’swapon(2)
appel système nécessite un espace réel. Référence: https://bugzilla.redhat.com/show_bug.cgi?id=1129205J'avais déjà fait face à ce problème plus tôt avec ma boîte. Donc, au lieu d'utiliser
fallocate
, j'ai utilisédd
comme le suggère le lienet aller de l'avant avec
chmod
,mkswap
&swapon
commandes. Bingo! Ça a marché.la source
dd
semble faire beaucoup plus de travailtime dd if=/dev/zero of=/myswap count=4096 bs=1MiB
prend 14,003 secondes oùtime fallocate -l 4G /swap3
prend 0,018 secondes, mais ils produisent le fichier de même taille. Je suppose quefallocate
cela ne copie pas en zéros comme ledd
fait et aswapon
besoin de ces zéros.swapon: /swapfile: read swap header failed: Invalid argument
a obtenu cette erreur après avoir essayé deswapon /swapfile
sur le serveur centos7 puppetenterpriseSuivez ces étapes, cela fonctionne sur les gouttelettes de DigitalOcean. J'ai testé. Modifiez le montant 4096 en fonction de vos besoins
ajoutez cette ligne:
lancer cette commande
ajouter cette ligne
Pour vérifier la taille de l'échange
la source
dd
commande seraitdd if=/dev/zero of=/swapfile count=4 bs=1GiB
parce que je ne peux pas être dérangé par le calcul de mebibytes en gibyctets sidd
je peux le faire pour moi. Saviez-vous que jadis, les gens l’exprimaient en kibibytes et calculaient cela en gibibytes? Incroyable!bs=
n'est pas la bonne façon de le faire, car cela a des conséquences inattendues, comme l'efficacité des blessures et ne fonctionne probablement pas avec la plupart des hébergements à faible coût. Si vous êtes simplement paresseux, utilisezcount_bytes
et laissezdd
faire pour vous les calculs et le choix d’une taille de bloc efficace:dd if=/dev/zero of=/swapfile count=4GiB iflag=count_bytes
=)iflag=count_bytes
est une excellente amélioration à votre commentaire. Et je ne suis pas paresseux, je me soucie de la lisibilité. Dans 6 mois, lorsque je relirai mon script (ou lorsque le prochain responsable viendra), le lecteur devra comprendre ce qui se passe. Il n'y a pas que les ordinateurs qui lisent le code, les humains le lisent aussi!