59 votes

Est-il possible de désactiver définitivement le swap ?

Mon système devenait plus lent, surtout lorsque j'utilise des navigateurs comme Firefox / Chromium et des machines virtuelles. J'ai remarqué que j'avais au moins 3,2 Go de RAM libre (en utilisant le moniteur système de Gnome) et qu'il n'y avait pas de swapping.

Ce que j'ai fait maintenant est swapoff -a et les performances du système ont augmenté de 30 %. Ma question est donc la suivante : est-il sûr d'utiliser swapoff ? Mon PC pourra-t-il redémarrer en toute sécurité avec swapoff ?

enter image description here

102voto

Kevin Points 454

Le noyau Linux fournit un paramètre modifiable qui contrôle la fréquence d'utilisation du fichier d'échange, appelé swappiness (capacité d'échange).

Un paramètre de permutation de zéro signifie que le disque sera évité sauf si cela est absolument nécessaire (vous manquez de mémoire), tandis qu'un paramètre de swappiness de 100 signifie que les programmes seront échangés sur le disque presque instantanément.

Le système Ubuntu est livré avec une valeur par défaut de 60, ce qui signifie que le fichier swap sera utilisé assez souvent si l'utilisation de la mémoire est d'environ la moitié de ma RAM. Vous pouvez vérifier la valeur de swap de votre propre système en exécutant :

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Comme j'ai 4 Go de RAM, j'aimerais réduire cette quantité à 10 ou 15. Le fichier d'échange ne sera alors utilisé que lorsque mon utilisation de la RAM se situera aux alentours de 10 ou 15 Go. 80 o 90 pour cent. Pour changer la valeur de permutation du système, ouvrez /etc/sysctl.conf as root . Ensuite, modifiez ou ajoutez cette ligne au fichier :

vm.swappiness = 10

Redémarrez pour que le changement prenne effet

Vous pouvez également modifier la valeur pendant que votre système est en cours d'exécution.

sysctl vm.swappiness=10

vous pouvez également effacer votre swap en exécutant swapoff -a y luego swapon -a en tant que root au lieu de redémarrer pour obtenir le même effet.

Pour calculer votre formule de swap

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

donc le total est 3950 / 100 = 39.5 * 10 = 395

donc ce que ça veut dire c'est que quand 10 % 395 Mo de RAM restants, puis il commence à utiliser la permutation.

19voto

Tom Brossman Points 12461

Probablement. Vous devriez lire la partie "Pourquoi ai-je besoin de Swap" du manuel Ubuntu. Page FAQ ici et jugez par vous-même.

Si vous préférez la vitesse au filet de sécurité que peut vous apporter le swap, vous devez le désactiver.

Si vous n'effectuez jamais de mise en veille sur le disque et que vous vous arrêtez et redémarrez toujours, vous pouvez le désactiver en toute sécurité.

Si vous avez beaucoup de RAM (vos 4 Go + les VM en cours d'exécution sont proches), vous pouvez le faire.

Pour ma part, j'ai mon système d'exploitation sur un SSD, 8 Go de RAM et je ne suspends jamais mes activités. Je n'ai pas besoin de swap, je ne l'ai jamais vu utilisé et je le configure à l'installation par habitude.

Comme alternative, voici une modification de about:config pour Firefox de Lifehacker qui explique comment utiliser la RAM uniquement pour le cache du navigateur. Lisez la réfutation liée au bas de l'article avant d'essayer.

2voto

Przemek D Points 200

Non, ce n'est pas sûr. La raison en est que lorsque le système n'a plus de mémoire vive et qu'il est incapable d'en échanger, il peut se figer sans autre possibilité de récupération qu'un redémarrage à froid. Il ne s'agit pas seulement d'être capable de suspendre ou non.
Source : mon 14.04 fait ça.

Vous devez conserver un minimum d'espace de pagination, regardez les FAQ Ubuntu pour les chiffres.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X