web-dev-qa-db-fra.com

Comment désactiver le swap?

J'ai des données sensibles en RAM que je préfère ne pas être sur le disque. Comment désactiver le swap? J'ai plus alors assez de bélier. Si le ram devient trop important, je n'ai aucun problème avec les processus en cours d'arrêt. Comment désactiver le swap?

Remarque: je n'ai pas de partition de swap et elle s'exécute dans un VM (VMWare).

80
user4482

En utilisant

Sudo swapoff -a  

est le moyen habituel pour désactiver le swap, avec la commande swapon -a utilisée pour le réactiver. Voir man swapoff pour plus d'informations sur la désactivation de l'échange pour les périphériques explicites.

115
ubfan1

Vous pouvez désactiver le swap après le redémarrage en commentant (en ajoutant # devant la ligne) l'entrée swap dans le fichier /etc/fstab. Cela empêchera la partition d'échange de monter automatiquement après un redémarrage. Pour faire cela en une seule commande:

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

ou simplement:

Sudo sed -i '/ swap / s/^/#/' /etc/fstab

Votre entrée de swap sur /etc/fstab ressemblera à ceci:

#UUID=xxxxxxxx-xxxx-xxxxx-xxx-xxxxxxxxxxx none            swap    sw              0       0

Avec vos propres chiffres et lettres minuscules au lieu des lettres "x".

23
Avinash Raj

Si vous êtes préoccupé par le contenu du swap, vous pouvez toujours le désactiver comme indiqué de la manière habituelle avec Sudo swapoff -a, puis remplir le périphérique de swap avec des zéros ou des données aléatoires à l'aide de dd.

Commencez par utiliser le contenu de fstab pour trouver votre fichier d'échange ou votre périphérique (less /etc/fstab)

Après l'avoir localisé et vérifié deux ou trois fois son emplacement, par exemple sda5 ou /swapfile (les partitions d'échange ont été remplacées par défaut par un fichier d'échange dans 17.04 et au-delà.) .

Dans le cas d'une partition ou d'un lecteur d'échange: (préfacé par/dev) , exécutez la commande "destructeur de disque" (à ne pas utiliser à la légère)

Sudo dd if=/dev/zero of=swap en remplaçant le swap de mots par le périphérique ou le fichier de swap que vous avez trouvé dans /etc/fstab

faire sauter plein de zéros ou

Sudo dd if=/dev/random of=swap en remplaçant à nouveau le swap de mots par le périphérique ou le fichier de swap que vous avez trouvé dans /etc/fstab

faire sauter plein de données aléatoires.

Dans le cas d'un fichier d'échange (préfacé par un chemin uniquement): , vous pouvez simplement supprimer le fichier avec rm /path/to/swapfile

La prochaine fois que vous activez l'échange avec

swapon -a

Le système l'utilisera volontiers à nouveau. Si vous avez beaucoup de RAM, vous n’aurez peut-être pas besoin d’être échangé du tout. Émettre la commande

free lorsque le système est soumis à une charge importante et voyez combien est utilisé pour effectuer cette détermination.

Si vous déterminez que vous n'avez définitivement pas besoin d'échange (pour l'hibernation ou toute autre chose), vous pouvez simplement commenter cette ligne dans fstab comme suggéré ici

free

3
Elder Geek

C'est peut-être une solution boiteuse, mais je l'ai souvent utilisée. Vous pouvez simplement taper

Sudo -s
crontab -e

Et ajouter

@reboot Sudo swapoff -a  

Donc, il sera désactivé automatiquement au démarrage.

2
user10635
Sudo swapoff -a

Au-dessus de la commande désactive le swap uniquement pour une session en cours, vous devez commenter la partition de swap dans le fichier / etc/fstab. Pour ce faire, il vous suffit d'ajouter "#" (ligne de commentaire) au début de la ligne d'échange. Les étapes sont les suivantes:

  1. Ouvrez le fichier fstab, tapez Sudo gedit /etc/fstab dans le terminal.

Le contenu du fichier ressemblerait à ceci:

proc            /proc           proc    nodev,noexec,nosuid 0       0
/Host/ubuntu/disks/root.disk /               ext4    loop,errors=remount-ro 0       1
/Host/ubuntu/disks/swap.disk none            swap    loop,sw         0       0
#/dev/sda10 /media/ASD  vfat    defaults    0   0
#/dev/sda1  /media/98   vfat    defaults    0   0
  1. Il suffit d’ajouter hash (#) au début de la ligne de partition d’échange, de sorte que la ligne se présente comme suit:

#/Host/ubuntu/disks/swap.disk none swap loop,sw 0 0

  1. Redémarrez votre PC
1
Sohail xIN3N

Allez dans le terminal et exécutez cette commande: gnome-disks. Il n'est pas installé dans toutes les distributions. Si tel est le cas, suivez les instructions imprimées pour l’installer et réessayez. Recherchez un périphérique avec le mot "swap" dans le volet de gauche. Il a généralement la même taille que votre mémoire physique. Cliquez sur le bouton carré pour le désactiver. Authentifiez cette modification avec votre mot de passe root.

Capture d'écran: http://imgur.com/Og6igqb

Dans l'application System Monitor (gnome-system-monitor), vous verrez qu'il indique que la zone d'échange est "non disponible". La zone d'échange est désactivée mais pas supprimée. Vous pouvez l'activer facilement à nouveau dans le futur. La suppression de l’espace de permutation n’a causé aucun dommage à mon système, mais vous créerez plus de travail si vous décidez de le récupérer (veille prolongée) à l’avenir.

edit: pour empêcher le montage au démarrage, vous devez aller dans "Modifier les options de montage ..." dans gnome-disks et décocher "Montage au démarrage".

0
user170544

Remplacez le defaults par sw,noauto dans la ligne qui consiste en l'entrée swap du fichier /etc/fstab:

/dev/mapper/centos-swap swap  swap    sw,noauto        0 0

(Le chemin /dev/mapper/centos-swap est probablement différent pour vous).

Maintenant, vérifiez la sortie après le redémarrage, votre swap n'est jamais monté:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3791         100        3408           8         282        3483
**Swap:             0           0           0**
0
askb