web-dev-qa-db-fra.com

Comment puis-je désactiver le swap de façon permanente?

Swap ralentit mon système et le désactiver le rend plus fluide. J'ai 3,5 Go de RAM.

Je sais comment désactiver le swap en entrant Sudo swapoff -a dans le terminal, mais ce n'est que pour la session en cours, car après un redémarrage, le swap se rallume. Est-il possible de désactiver le swap de manière permanente?

62
Alex Li

Puis-je suggérer une approche plus sûre? Vous ne savez jamais quand l'échange peut vous empêcher de planter. Bien que l'échange permette effectivement de ralentir votre ordinateur, si vous utilisez un programme consommant toute votre mémoire vive, cette possibilité peut vous éviter un redémarrage brutal. Lorsque l'ordinateur commence à permuter, vous remarquerez et serez en mesure de tuer l'application incriminée.

Ainsi, au lieu de désactiver complètement le swap, assurez-vous que votre système d’échange très rarement . Ceci est contrôlé par le paramètre vm.swappiness dans /etc/sysctl.conf. Le paramètre par défaut d’Ubuntu est 60 si je me souviens bien de ce qui est trop dans la plupart des situations et vous fera commencer à échanger même si RAM est toujours disponible. Si vous réduisez cette valeur, vous pourrez conserver la ligne de sécurité d'échange tout en ne l'utilisant qu'en cas d'urgence. Alors, ouvrez le fichier:

Sudo nano /etc/sysctl.conf

Et ajoutez-y cette ligne:

vm.swappiness=10

Si c'est encore trop, changez le 10 en 1. Maintenant, après le redémarrage, vous permuterez uniquement en cas d'absolue nécessité et vous pourrez simplement l'oublier.

117
terdon

Recherchez la ligne dans/etc/fstab faisant référence à swap et commentez-la. Le mien est comme ça:

UUID=6880a28d-a9dc-4bfb-ba47-0876b50e96b3 /               ext4    errors=remount-ro 0       1
UUID=7350e6f2-e3a7-4d80-9a95-8741c7db118f /home           ext4    defaults        0       2
UUID=E2E26AD1E26AAA0D /media/windows  ntfs    defaults,umask=007,gid=46 0       0

# Swap a usb extern (3.7 GB):
#/dev/sdb1 none swap sw 0 0

Vous pouvez éditer ce fichier avec gedit. Sauvegardez-le d'abord, juste au cas où:

Sudo cp /etc/fstab /etc/fstab_backup
gksu gedit /etc/fstab

Ajoutez simplement # au début de la ligne où swap est et relancez l’ordinateur.

OU

Essayez en ligne de commande de commenter l’entrée swap dans le fichier /etc/fstab,

Sudo sed -i.bak '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
44
animaletdesequia

Supprimez simplement l'entrée (ou commentez-la en utilisant # devant la ligne) dans fstab et redémarrez. Recherchez la ligne avec le mot "swap" dedans.

Sudo nano /etc/fstab
13
mdalacu

Wrong .. si systemd trouve une partition SWAP sur n’importe quel lecteur, il le montera de toute façon automatiquement. Etrange que personne n'ait mentionné systemd. La solution est assez simple de toute façon; pour désactiver définitivement le swap, vous devez:

  1. swapoff -a
  2. éditez/etc/fstab et commentez toutes les entrées de swap si elles sont présentes.
  3. lancer: Sudo systemctl mask dev-sdXX.swap (où XX est la partition de swap. Il est également utile de le faire pour toutes les partitions possibles afin que, s'il existe une partition de swap sur un autre lecteur, elle ne sera pas montée).

Paix dehors.

8
Zibri