GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - La valeur appropriée de Vm.swappiness lors de l'utilisation de Zram ?

J'utilise zram sur mon ordinateur en tant que swap compressé basé sur la RAM. Lorsque le système doit échanger quelque chose, l'échanger contre un fichier d'échange basé sur zram équivaut plus ou moins à compresser ces données en mémoire pour libérer de l'espace. Cela rend l'échange très rapide la plupart du temps, par rapport à l'échange sur disque. Pour cette raison, je me demande s'il y a des performances à gagner en encourageant le système à échanger les éléments inutilisés de manière plus agressive, car il peut le faire sans toucher le disque ?

Donc, quelqu'un a-t-il dérangé, par exemple, la définition de vm.swappiness à 100 en utilisant zram ? Serait-ce souhaitable ?

sysctl -w vm.swappiness=100

Réponse acceptée :

Réponse courte :vm.swappiness=100 est la valeur appropriée pour zram (au moins sur Debian Stretch avec Linux 4.9, je pense que c'est la meilleure valeur)

J'ai déjà testé vm.swappiness=100 pour moi.

Je pense que vous pouvez faire un test simple pour déterminer quelle valeur vous convient le mieux.

J'ai également créé un autre programme simple pour tester cette question.
x
Sur ma machine, un vm.swappiness très faible valeur (telle que vm.swappiness=1 ) entraînera un problème de réactivité évident.

À propos de SwapCached dans /proc/meminfo :

Tout d'abord, essayez vm.page-cluster=0 , cela peut peut-être réduire certains SwapCached inutiles à partir de l'échange.

SwapCached peut accélérer zram de la même manière qu'un périphérique d'échange non zram

SwapCached Il peut être réutilisé (gratuitement) si nécessaire :

./linux-4.9/mm$ grep -rn delete_from_swap_cache
memory-failure.c:715:   delete_from_swap_cache(p);
shmem.c:1115:       delete_from_swap_cache(*pagep);
shmem.c:1645:            * unaccounting, now delete_from_swap_cache() will do
shmem.c:1652:               delete_from_swap_cache(page);
shmem.c:1668:       delete_from_swap_cache(page);
vmscan.c:673:       __delete_from_swap_cache(page);
swap_state.c:137:void __delete_from_swap_cache(struct page *page)
swap_state.c:218:void delete_from_swap_cache(struct page *page)
swap_state.c:227:   __delete_from_swap_cache(page);
swapfile.c:947:         delete_from_swap_cache(page);
swapfile.c:987: delete_from_swap_cache(page);
swapfile.c:1023:            delete_from_swap_cache(page);
swapfile.c:1571:            delete_from_swap_cache(page);
./linux-4.9/mm$ 

Linux
  1. Une introduction à l'utilisation de tcpdump sur la ligne de commande Linux

  2. Dépannage à l'aide du système de fichiers proc sous Linux

  3. Utilisation de la force sur la ligne de commande Linux

  4. Histoires Linux :quand les sauvegardes ont sauvé la journée

  5. Quel est l'intérêt d'utiliser la macro linux access_ok()

Le guide complet d'utilisation de ffmpeg sous Linux

Exécutez des processus d'arrière-plan sous Linux à l'aide de la commande Screen

Tutoriel sur l'utilisation de la commande Timeout sous Linux

Tutoriel sur l'utilisation de la dernière commande dans le terminal Linux

Utilisation de la commande tr sous Linux pour jouer avec des personnages

Quelle priorité en temps réel est la priorité la plus élevée sous Linux