Comment configurer l'échange?

J'ai besoin d'un moyen étape par étape, simple et facile de configurer swappiness.

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

Un paramètre d'échange 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 permutation 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 d'échange 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 permutation de votre propre système en exécutant:

one@onezero:~$ cat /proc/sys/vm/swappiness60

Comme j'ai 4 Go de RAM, j'aimerais le réduire à 10 ou 15. Le fichier d'échange ne sera alors utilisé que lorsque mon utilisation de RAM sera d'environ 80 ou 90 cent. Pour modifier la valeur de permutation du système, ouvrez /etc/sysctl.conf comme racine. Ensuite, modifiez ou ajoutez cette ligne au fichier:

vm.swappiness = 10

Appliquez la modification.

sudo sysctl -p

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

sysctl vm.swappiness=10

Vous pouvez également effacer votre swap en exécutant swapoff -a et puis 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 = AA * 10root@onezero:/home/one# free -m             total       used       free     shared    buffers     cachedMem:          3950       2262       1687          0        407        952-/+ buffers/cache:        903       3047Swap:         1953          0       1953

le total est donc 3950 / 100 = 39,5 * 10 = 395

Donc, ce que cela signifie, c'est que lorsque 10 % (395 Mo) de ram est laissé alors il va commencer à utiliser le swap.


Aider . Ubuntu . Swap

Qu'est-ce que le swappiness

Le paramètre swappiness contrôle la tendance du noyau à déplacer les processus hors de la mémoire physique vers le disque d'échange. Étant donné que les disques sont beaucoup plus lents que la RAM, cela peut entraîner des temps de réponse plus lents pour le système et les applications si les processus sont déplacés de manière trop agressive hors de la mémoire.

  • swappiness peut avoir une valeur comprise entre 0 et 100.
  • swappiness=0:
    • Version du noyau 3.5 et plus récente: désactive l'échange.
    • Version du noyau antérieure à 3.5: évite d'échanger des processus hors de la mémoire physique aussi longtemps que possible.
  • swappiness=1:
    • Noyau version 3.5 et plus: permutation minimale sans la désactiver complètement.
  • swappiness=100:
    • Indique au noyau d'échanger agressivement les processus hors de la mémoire physique et de les déplacer vers le cache d'échange.

Voir http://en.wikipedia.org/wiki/Swappiness.

Le paramètre par défaut dans Ubuntu est swappiness=60. La réduction de la valeur par défaut de swappiness améliorera probablement les performances globales d'une installation de bureau Ubuntu typique. Une valeur de swappiness=10 est recommandé, mais n'hésitez pas à expérimenter.


Exemple

A commencé à utiliser swap à 91%:

Comme j'ai configuré mon système et ma machine virtuelle pour utiliser la RAM à 90%, à 90% il n'y a pas eu d'échange.

Après cela, j'ai ouvert certaines applications comme Firefox & amp; Obturateur, et il a commencé à échanger parce que l'utilisation de la RAM est supérieure 90%.

Pour l'échange ZRAM sans aucune partition/fichier d'échange réel, utilisez 100. Il pré-compressera tout ce qui peut être pré-compressé, laissant le cache intact et décompressera rapidement les données selon les besoins (de plus, sans véritable échange, vous devrez augmenter admin_reserve_kbytes x2 ou même x4 pour éviter le gel de tout le système sur une faible RAM au lieu de laisser tomber une application affamée).

Pour les SSD avec partition d'échange réelle, utilisez 1. Cela évitera de permuter le plus longtemps possible, sacrifiant le cache (mais le cache peut être facilement relu à partir du SSD).

Lin liner 'sudo bash-c ‘echo’ vm.permutation = 15 ’ > > /etc / sysctl.conf`

@redanimalwar vous devez également exécuter ‘sudo sysctl` p’ pour charger la nouvelle valeur d’échange à partir du sysctl.fichier de configuration, sinon la modification ne s’applique qu’au prochain redémarrage.