Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/07/2020, à 16:34

juliensl

swappiness semble ne pas fonctionner

Bonjour à tous,

Je possède actuellement d'un ordinateur muni de 8Go de RAM, Ubuntu 20.04 et un peu plus de 17Go de swap.

J'ai essayé de configurer le trigger du Swap afin d'économiser le plus possible mon SSD tout en évitant les freeze.
Ce que je ne comprends pas, c'est que j'ai effectué la commande

sudo sysctl vm.swappiness=20

, qui a l'air de fonctionner puisqu'il me renvoie la commande, mais quand j'ouvre l'application pour monitorer mon système, j'ai bien l'impression que le trigger est configuré à 10 et pas 20, car il stagne autour de 90% d'utilisation de RAM et peut monter jusqu'à 98% quand j'ouvre de nouvelles applis.

J'ai aussi modifié le fichier /etc/sysctl.conf pour ajouter en dernière ligne

vm.swappiness = 20

mais rien y fait, l'ordi tourne toujours autour de 90% d'utilisation de RAM.

Quelqu'un saurait pourquoi mon ordi ne veut pas m'écouter ? ^^

En vous remerciant,

Bien cordialement,

Julien Laffont.

Ps : j'ai aussi testé avec une valeur plus violente, 80 par exemple mais rien y fait, il n'écoute pas :'(

Dernière modification par juliensl (Le 27/07/2020, à 16:50)

Hors ligne

#2 Le 27/07/2020, à 17:42

geole

Re : swappiness semble ne pas fonctionner

Bonjour
pourquoi ne  fais-tu pas comme dans la documentation?

echo vm.swappiness=5 | sudo tee /etc/sysctl.d/99-swappiness.conf
echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-swappiness.conf
sudo sysctl -p /etc/sysctl.d/99-swappiness.conf
sudo swapoff -av
sudo swapon -av

Dernière modification par geole (Le 27/07/2020, à 17:42)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#3 Le 27/07/2020, à 18:43

grandtoubab

Re : swappiness semble ne pas fonctionner

pour connaitre l'utilisation de la ram

free -ht

Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#4 Le 28/07/2020, à 10:52

juliensl

Re : swappiness semble ne pas fonctionner

Salut geole, grandtoubab,
merci pour vos réponse.

J'avais cherché sur internet geole mais j'avais pas trouvé ces lignes de codes.
Je viens de les tester mais le problème reste identique :'(

image utilisation ram

L'utilisation de la ram tourne toujours autour de 90% alors que j'ai réglé le swappiness à 30 hmm

Any other ideas ?

Merci pour votre aide smile

Hors ligne

#5 Le 28/07/2020, à 11:34

geole

Re : swappiness semble ne pas fonctionner

Bonjour
Pourquoi as-tu mis 30 au  lieu de 5.   A la rigueur 3 voir 1 sont de bonnes valeurs pour un SSD.

Fais un copier/coller  du retour de la commande demandée. Il est possible que tu interprètes mal ce qui est affiché.

Donne aussi le retour de cette commande

swapon -s

Dernière modification par geole (Le 28/07/2020, à 11:43)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#6 Le 28/07/2020, à 11:58

juliensl

Re : swappiness semble ne pas fonctionner

Je cherche justement à le faire passer plutôt à 20 voir 30 car mon ordi freeze beaucoup.
J'ai gardé mon moniteur ouvert pendant les freeze et me suis rendu compte que systématiquement mon ordi était en freeze quand j'étais à plus de 95% d'utilisation de la RAM. J'aimerais donc qu'il ne dépasse pas les 80 / 85 % d'utilisation pour qu'il "ait le temps" de passer sur le swap avant de saturer la RAM smile


Voici un retour des commandes demandé :

echo vm.swappiness=30 | sudo tee /etc/sysctl.d/99-swappiness.conf
vm.swappiness=30

echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-swappiness.conf
vm.vfs_cache_pressure=50

sudo sysctl -p /etc/sysctl.d/99-swappiness.conf
vm.swappiness = 30
vm.vfs_cache_pressure = 50

sudo swapoff -av
swapoff /swapfile
swapoff /dev/sdb6

sudo swapon -av
swapon: /dev/sdb6: found signature [pagesize=4096, signature=swap]
swapon: /dev/sdb6: pagesize=4096, swapsize=16384000000, devsize=16384000000
swapon /dev/sdb6
swapon: /swapfile: found signature [pagesize=4096, signature=swap]
swapon: /swapfile: pagesize=4096, swapsize=2147483648, devsize=2147483648
swapon /swapfile

swapon -s
Filename				Type		Size	Used	Priority
/dev/sdb6                              	partition	15999996	0	-2
/swapfile                              	file    	2097148	0	-3

Voilou big_smile

Hors ligne

#7 Le 28/07/2020, à 12:48

geole

Re : swappiness semble ne pas fonctionner

juliensl a écrit :

Je cherche justement à le faire passer plutôt à 20 voir 30 car mon ordi freeze beaucoup.
J'ai gardé mon moniteur ouvert pendant les freeze et me suis rendu compte que systématiquement mon ordi était en freeze quand j'étais à plus de 95% d'utilisation de la RAM.

Pour mieux visualiser l'utilisation a écrit :

swapon
Filename                           Type                        Size                  Used                 Priority
/dev/sdb6                           partition         15999996                         0                         -2
/swapfile                             file                   2097148                         0                         -3

Voilou

On voit donc que tu as  créé une partition de swap    qui n'est actuellement pas utilisée.
On voit que tu as ajouté un fichier de swap   qui serait utilisé si la partition de swap était insuffisante en taille. Comme celle-ci n'est pas utilisée, le fichier ne l'est pas! Vu la taille de la partition de swap, le fichier de swap est inutile.

Tu as encore oublié de faire  un copier/coller du retour de la commande free -h

Tu dis que l'ordinateur freeze par moment. Je te propose de le mettre sous surveillance en faisant tourner un script qui va collecter.
voir ce lien https://forum.ubuntu-fr.org/viewtopic.p … #p22104486
C'est le dernier. Tu pourras paramétrer. Ce script permet de collecter l'usage de la ram.  Si tu es dans l'obligation de rebooter, il récupère l'état de la mémoire qui précède le blocage.


Peux-tu donner le retour de cette commande

journalctl -b -p err

Tu pourrais aussi donner le retour ces commandes de cet échange N° 1


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#8 Le 28/07/2020, à 12:54

zephirin

Re : swappiness semble ne pas fonctionner

en tapant swap xubuntu tu va sur le site dolys.fr

SSD et swap ne sont pas très copains..

Si vous utilisez un SSD, swapper activement dessus peut-être fatal (même si les SSD modernes sont plus robustes que les premières générations.

SSD-logo
Il est alors judicieux,

    soit de mettre la partition swap sur un disque dur classique, (dans ce cas, modifiez la swappiness à 5 dans la commande ci-dessous)
    soit de régler votre swappiness à 1 pour limiter la swap  ça ne devrait pas trop fatiguer votre SSD et éviter de rares blocages : on évite de swapper plutôt qu’interdire de swapper)

Même si vous avez une groose RAM 8Go ou plus, pensez à ce réglage et à une swap ou /swapfile d’au moins la moitie de votre RAM (sous 4Go, la taille de la RAM, sous 2Go, quasi le double)

Donc si vous n’avez qu’un SSD, passez :

echo vm.swappiness=1 | sudo tee /etc/sysctl.d/99-swappiness.conf
echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-swappiness.conf
sudo sysctl -p /etc/sysctl.d/99-swappiness.conf

Note: ces réglages limitent l’utilisation de la swap, dans la configuration d’origine la swappiness est réglée à 60, ce qui grosso fait que la swap peut-etre sollicitée dès 40% d’utilisation de la RAM. Ici, nous demandons tout simplement au système de ne swapper que quand la RAM est quasi pleine.
Le cache pressure, lui sollicite plus le cache VFS, ce qui doit fluidifier l’utilisation des applications.

N’hésitez pas à indiquer si ce réglage est satisfaisant pour vous.

Dernière modification par zephirin (Le 28/07/2020, à 12:56)


AIO tactile 27" Samsung  i5 8GB DDR3 W11 - tour Antec Asus P5GCMX1333 W11
iMac 27" fin 2009 i5 750 16GBssd2TB cg512 HighSierra - MacBookAir 13" 2017 i5 8GB ssd120 Monterey - MacBookPro mi 2012 8GB DDR3 Catalina

Hors ligne

#9 Le 28/07/2020, à 13:19

juliensl

Re : swappiness semble ne pas fonctionner

Re,

Retour des commandes :

free -h
              total        used        free      shared  buff/cache   available
Mem:          7,7Gi       5,7Gi       907Mi       522Mi       1,0Gi       1,2Gi
Swap:          17Gi       5,0Gi        12Gi

journalctl -b -p err
-- Logs begin at Wed 2019-12-11 10:43:22 CET, end at Tue 2020-07-28 12:59:33 CEST. --
juil. 28 08:58:18 lfg-julien named[1155]: creating TCP socket: address not available
juil. 28 10:35:25 lfg-julien gdm-password][2385]: gkr-pam: unable to locate daemon control file
juil. 28 10:38:00 lfg-julien named[1155]: creating TCP socket: address not available
juil. 28 10:52:16 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 10:52:16 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 10:55:42 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 10:58:04 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 10:58:04 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 11:00:20 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 11:45:05 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 11:45:05 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 11:45:07 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 11:46:27 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 12:10:01 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 12:10:01 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 12:15:44 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command
juil. 28 12:33:47 lfg-julien kernel: rtw_pci 0000:02:00.0: failed to send h2c command

Après j'ai pas trop compris geole, dans les 2 liens d'audit, j'ai l'impression que c'est le même objectif mais 1 qu'il faut faire à la mano et l'autre qui est automatique, c'est ça ?
Si je comprends bien, faut que je lance ce script :

for ((j=0; ;j++));do
  echo -n "Le % de RAM  consommée par les tâches firefox, opera, tor, plugin-container et Web Content est de ";
  top -bn1 | awk 'BEGIN{m=0.0} /firefox|tor-b|opera|plugin-co|[Ww]eb [Cc]o/{sub(",",".",$10) ; m+=$10} END{print m}';

   echo -n "Le % de RAM  consommée par les applications de l'utilisateur est de  " ;
   top -bn1 -U $USER           | sed '1,7d'     | awk 'BEGIN{m=0.0} {sub(",",".",$10) ; m+=$10} END{print m}';

   echo -n "Le % de RAM  consommée par root  est de  " ;
   top -bn1 -U root           | sed '1,7d'     | awk 'BEGIN{m=0.0} {sub(",",".",$10) ; m+=$10} END{print m}';

  sleep 10; 
  done

Et que je paramètre le sleep.
Mais c'est quoi le sleep ? ^^

geole a écrit :

On voit que tu as ajouté un fichier de swap   qui serait utilisé si la partition de swap était insuffisante en taille. Comme celle-ci n'est pas utilisée, le fichier ne l'est pas! Vu la taille de la partition de swap, le fichier de swap est inutile.

J'agrée, mais je ne sais pas comment supprimer le fichier de swap initial x)

zephirin a écrit :

SSD et swap ne sont pas très copains..

I know hmm
Mais j'utilise des logiciels lourds qui remplissent facilement ma Ram, et le soucis c'est que j'ai l'impression que le passage de la Ram à la Swap est très lent, du coup quand mon ordi arrive à plus de 95% d'utilisation de Ram, ben ça freeze et je dois attendre que le transfert de mémoire vers le Swap soit fini pour pouvoir le réutiliser sad
Et là, à vu de nez il a l'air plutôt paramétré pour stagner à 90%, j'imagine même pas si je le fait tourner à 99% yikes

Hors ligne

#10 Le 28/07/2020, à 14:05

geole

Re : swappiness semble ne pas fonctionner

Si tu utilises des logiciels que tu sais gros consommateurs de RAM, il n'est peut être pas utile de  chercher qui consomme de la RAM et si c'est un BUG.

Le script collecte quelques informations et se met en sommeil (sleep 10) pendant 10 secondes puis refait une nouvelle collecte.

Dans certains contextes, la RAM augmente lentement ,      10 secondes sont alors   peut-être trop rapide.         Passer à 30 secondes
Dans certains contextes, la RAM augmente d'un seul coup,   Il faut alors probablement paramétrer à 2 secondes sinon à 1 seconde
Dans le doute, tu peux laisser 10 secondes et si  on rate le coupable, on forcera à 1 seconde.
Cependant, si tu  penses connaître le coupable, tu peux lancer le script à une seconde juste avant d'utiliser le coupable.

Je suis presque convaincu que la partition  SDB5 est  dans un disque dur et que le fichier swap est dans le SSD . Cela ne va pas très vite d'écrire dessus.
Dans l'attente  d'agrandissement de la RAM, tu devrais utiliser le SSD pour y mettre le swap

      Un test.    Avec gparted, tu dé-alloues la partition de swap  et tu la supprimes.
           Tu modifies aussi le fichier /etc/fstab pour qu' il ne connaisse plus cette partition ( mettre un commentaire)
     Normalement cela se mettra à écrire dans  le SSD et le fichier devrait s'agrandir automatiquement en fonction du besoin.
     Fais les commandes magiques pour ne commencer à swapper qu'en cas d'absolue nécessité

Une tentative d'explication:   Tu lances un gros logiciel de 15 Go qui est stocké dans le SSD, il est lu à une vitesse   V
Il faut alors faire de la place, si le swap est aussi sur le SSD,  les  parties inutiles seront sauvées à la même vitesse. Ce qui  n'est pas le cas  sur un disque dur. L'idéal étant de ne jamais swapper en achetant de la RAM  ou en regardant si ce logiciel ne dispose pas de réglages mémoires (cache?)

Sinon, il faut augmenter la valeur standard de 60 pour sauver le plus vite possible avant d'être pris au dépourvu.
Un petit calcul:   8 Go de RAM , probablement 2 GO  valeur de départ incompressible   100-2/8*100 = 75


AJOUT
Pour ce message

rtw_pci 0000:02:00.0: failed to send h2c command

c'est lié au wifi

Dernière modification par geole (Le 28/07/2020, à 14:51)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#11 Le 28/07/2020, à 14:56

juliensl

Re : swappiness semble ne pas fonctionner

Merci pour tes réponses.

Je connais les coupables, j'utilise Firefox avec plusieurs onglet dont un c'est Figma, un logiciel de design web qui consomme beaucoup, sur un projet qui est lui même lourd. En parallèle de ça j'ai un serveur Meteor qui tourne avec VSCode et plusieurs pluggins qui consomment. Et de temps en temps j'ai besoin aussi d'utiliser Chrome en parallèle.
Donc effectivement, je ne pense pas que ce soit la peine de chercher le responsable lol

Pour les disques, je viens de vérifier avec gparted, les sdB sont bien sur le disque SSD, mon HDD c'est le sdA.
Donc la partition de swap et le fichier de swap sont tous les 2 sur SSD.

geole a écrit :

Sinon, il faut augmenter la valeur standard de 60 pour sauver le plus vite possible avant d'être pris au dépourvu.
Un petit calcul:   8 Go de RAM , probablement 2 GO  valeur de départ incompressible   100-2/8*100 = 75

On en revient à l'origine du Thread, j'essaie de modifier les valeurs avec plusieurs commandes, mais rien n'y fait, ma Ram est rempli à 90 - 95% en vitesse de croisière alors que mon swap n'est plein qu'à 25% sad

Une idée de comment débuguer ça ? smile

Hors ligne

#12 Le 28/07/2020, à 18:32

geole

Re : swappiness semble ne pas fonctionner

Le principe de fonctionnement de la RAM est d'être utilisée à 100%
  Dans la RAM   il a alors du code utilisé et probablement du code non utilisé.
   En cas de nouveau besoin,  on éjecte d'abord le code non utilisé.   Si cela ne suffit pas, il faut stopper une application en la swappant
        Si préventivement on a déjà copié une partie du logiciel  de cette application dans la partition de swap, il reste seulement à copier ce qui n'a pas été fait.
     Avec un disque dur, on a tendance  à copier  préventivement  car il n'écrit pas vite.
   Avec un SSD, on a tendance à ne pas vouloir copier préventivement afin d'éviter d'écrire des infos qui pourraient ne pas être utiles afin d'économiser  les écritures et d'attendre au tout dernier moment quitte à avoir un peu de blocage.
Ta capture montre que tu as besoin de 12 Go de RAM. (10.7+5)
Même si cela devient moins "fluide", attends le dernier moment 

echo vm.swappiness=1 | sudo tee /etc/sysctl.d/99-swappiness.conf 

NOTA: Je crois avoir vu que si on met 0, le mécanisme de swaping ne se fait plus.  Une application  est alors tuée pour libérer de la place.

Si tu souhaites ne plus utiliser le fichier de swap , il suffit de ne pas le décrire  dans le fichier /etc/fstab  puis de le supprimer.

J'ai trouvé cela https://help.figma.com/hc/en-us/article … ory-Issues
       et ceci  https://github.com/Figma-Linux/figma-li … -619140926

Peux-tu donner ce retour permettant de savoir si tu peux ajouter de la mémoire

sudo dmidecode -t6

Dernière modification par geole (Le 28/07/2020, à 19:03)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne